Можно ли инициализировать приватное конечное поле подкласса java до завершения работы суперструктора?

У меня есть пара классов, похожих на это;

public abstract class Class1 {

//...

    public Class1() {
        //...
        function2();
        //...
    }

    protected abstract void function2();

}

public class Class2 implements Class1 {

    private final OnSomethingListener mOnSomethingListener = new OnSomethingListener() {
        @Override
        onSomething() {
            doThatOtherThing();
        }
    }

    protected void function2() {
        //uses mOnSomethingListener
        //however mOnSomethingListener is null when this function is called from super()
        //...
    }

    public Class2() {
        super();
    }
}

Я предполагаю, что слушатель нулевой, потому что я эффективно ссылаюсь на него изsuper() и он еще не создан. Тем не менее, я хочу сделать этоfinal потому что, ну, это так. Можно ли заставить это поле (слушателя) инициализироваться вовремя, не помещая его в суперкласс (который никогда не будет использовать слушателя, когда-либо)?

Ответы на вопрос(3)

Ваш ответ на вопрос