¿Se puede inicializar el campo final privado de una subclase Java antes de que se complete el súper constructor?

Tengo un par de clases parecidas a esto;

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

Supongo que el oyente es nulo porque estoy haciendo referencia a él desdesuper() y no se ha instanciado todavía. Sin embargo, quiero hacerlofinal porque, bueno, lo es. ¿Puedo hacer que este campo (el oyente) se inicie a tiempo sin ponerlo en la superclase (que nunca utilizará el oyente)?

Respuestas a la pregunta(3)

Su respuesta a la pregunta