составное наследование: как назначить конечное поле в конструкторе подкласса, которое зависит от значения this (обратная ссылка)?

Я использую составные классы для группировки функций.
Но, класс A (с составным A1), унаследованный B (с составным B1), и поведение, существующее в A1, будет адаптировано в B1, но конечный a1 должен быть экземпляром B1, чтобы это работало.

Обс .: У меня естьпути чтобы убедиться, что составной экземпляр происходит правильно (только его составной партнер).

Невозможно назначить объект B1 конечному полю a1:

class finalFieldTestFails{
    class A1{
      A1(A a){}
    }

    class A{
      protected final A1 a1;
      A(){
        this.a1 = new A1(this);
      }

      A(A1 a1){
        this.a1 = a1;
      }
    }

    class B1 extends A1{
      B1(B b){
        super(b);
      }
    }

    class B extends A{
        //B(){ super.a1=new B1(this); } //FAIL: cant change final value
        //B(){super(new B1(this));} //FAIL: cant use 'this' or 'super'
    }
}

PS: ответ не должен включать уловки безопасности отражения, если это возможно.

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

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