2014-01-06 6 views
-1

Предположим, у меня есть два класса: Super и Sub. Они выглядят так:Java: Инициализировать объект-объект подкласса после super() - вызов?

public class Super { 
    private A a; 
    private B b; 

    public Super() { 
     this.a = new A(); 
     this.b = new B(); 
    } 
} 

public class Sub extends Super { 
    private C c; 

    public Sub() { 
     super(); 
     this.c = new C(); 
    } 
} 

Если я теперь вызвать конструктор Sub, почему не c инициализируются? Или эта работа вообще и есть еще одна проблема с моим (фактическим) кодом?

+4

Что? Это очень похоже на инициализацию. Каковы ваши доказательства? –

+4

Пожалуйста, разместите код, который воспроизводит вашу проблему. – arshajii

+2

c инициализируется этой строкой this.c = new C(); –

ответ

2

Он должен работать вообще; есть еще одна проблема с вашим фактическим кодом.

+0

Спасибо всем за ваши комментарии, теперь я знаю, что вышеуказанный код работает и может сузить актуальную проблему. К сожалению, я не могу опубликовать настоящий код здесь, потому что он слишком большой и сложный для решения здесь;) – ctitze

Смежные вопросы