Я не понимаю, почему предупреждение срабатывает, когда класс вызывает финальный метод, объявленный в одном из его собственных родителей.
Вот пример:
Код: Выделить всё
package org.example;
public class A {
public final int getNumber() {
return 10;
}
}
public class B extends A {
public B(){
getNumber(); // Compiler warns here:
// warning: [this-escape] possible 'this' escape
// before subclass is fully initialized
}
}
Потенциальная проблема заключается в том, что метод суперкласса вызывает другой не -финальный метод. Если предположить, что это не так, существует ли еще состояние ошибки?
Я не могу сказать, является ли это предупреждение ложным срабатыванием или очень загадочной ошибкой, которую я не понимаю.< /п>
Подробнее здесь: https://stackoverflow.com/questions/793 ... -the-super
Мобильная версия