Czy prywatne końcowe pole podklasy java może zostać zainicjowane przed zakończeniem super konstruktora?

Mam parę klas wyglądających tak;

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();
    }
}

Zakładam, że detektor ma wartość NULL, ponieważ skutecznie odwołuję się do niegosuper() i nie zostało jeszcze utworzone. Jednak chcę to zrobićfinal bo tak jest. Czy mogę uzyskać to pole (słuchacz) do zainicjowania w czasie bez umieszczania go w nadklasie (co nigdy nie będzie używać słuchacza)?

questionAnswers(3)

yourAnswerToTheQuestion