#java
#java
Вопрос:
class nonStatic1 {
nonStatic2 n2 = new nonStatic2();
nonStatic1() {
this.print();
}
void print() {
System.out.println("insidenonStatic1");
}
}
class nonStatic2 {
nonStatic2() {
this.print();
}
void print() {
System.out.println("insidenonStatic2");
}
}
class nonStatic3 {
nonStatic1 n1 = new nonStatic1();
nonStatic3() {
this.print();
}
void print() {
System.out.println("insidenonStatic3");
}
}
public class NonStaticInitializationTest {
nonStatic2 n2 = new nonStatic2(); // <-- Never initialized!!
public static void main(String args[]) {
System.out.println("initialising n3 through main");
nonStatic3 n3 = new nonStatic3();
}
}
Комментарии:
1. К вашему сведению, ниже приведен вывод :
2. инициализация n3 через main insidenonStatic2 insidenonStatic1 insidenonStatic3
3. добавьте это к вопросу, а не в комментарий. Вы указываете на инициализацию, ваш вопрос не имеет смысла.
4. @Stultuske Не могли бы вы мне помочь?
5. Я вставил это в ответ, но это довольно просто, это вы должны знать, прежде чем пытаться создавать и создавать экземпляры других классов.
Ответ №1:
Он не инициализирован, потому что является членом вашего экземпляра NonStaticInitializationTest
, что означает, что вам нужно будет создать экземпляр для этого класса, чтобы этот член существовал.
Как только вы создадите этот экземпляр, ваш nonStatic2
экземпляр будет создан, но в настоящее время вы работаете только в вашем основном методе, который является статическим членом и не требует экземпляра своего класса.
Комментарии:
1. Понял!! хорошо объяснено!, Спасибо, что помогли мне в Stultuske 🙂
2. если это отвечает на ваш вопрос, пожалуйста, примите ответ.