Llame al método súper clase automáticamente

Considera la siguiente clase

class A{
    public void init(){
        //do this first;
    }
    public void atEnd(){
        //do this after init of base class ends
    }
}

class B1 extends A{

    @Override
    public void init()
    {
        super.init();
        //do new stuff.
        //I do not want to call atEnd() method here...
    }
}

Tengo varias clases B1, B2, ... Bn que ya están desarrolladas. Todos ellos amplían la clase A. Si quiero agregar una nueva funcionalidad en todos ellos, el mejor lugar para hacerlo es definir eso en un método dentro de la clase A. Pero la condición es que el método siempre se llame automáticamente justo antes El método init () de clase infantil termina. Una forma básica de hacerlo es agregar nuevamente la llamada al método atEnd () al final del método init () de clases secundarias. Pero, ¿hay alguna otra manera de hacerlo de manera inteligente?

Respuestas a la pregunta(4)

Su respuesta a la pregunta