Можно ли установить значение для окончательного атрибута из метода Private, вызываемого из конструктора этого объекта?
public class FinalTest {
private final Object a;
//Constructor
public FinalTest() {
setA();
}
private void setA() {
a = new Object;
}
}
Для приведенного выше класса компилятор выдает ошибку, в которой говорится, что я не могуустановите значение для «а» из метода.
Я понимаю, что невозможно установить значение для конечной переменной извне конструктора, но в приведенном выше случае я фактически делаю это в конструкторе.Так почему же это не разрешено?