Не следует копировать все ссылки из экземпляра суперкласса в экземпляр подкласса.Кстати, все эти ссылки не должны быть даже доступны из подкласса, если они объявлены как частные поля в суперклассе (как и должно быть, как правило).
Что вам, вероятно, нужно, это делегирование, а не наследование:
// Foo is the superclass
private class FooAdapter {
private Foo foo;
public FooAdapter(Foo foo) {
this.foo = foo;
}
public void doThis() {
return foo.doThis();
}
}
FooAdapter может расширять Foo или (лучше) реализовывать общий интерфейс, но это не обязательно необходимо.
Если это не решит вашу проблему, скажите нам, что вы хотите сделать, вместо того, чтобы рассказывать, как вы хотите это сделать.Какую проблему вы хотите решить?