class Component1
{
Component1()
{
System.out.println("This is Component1!");
}
}class Component2
{
Component2()
{
System.out.println("This is Component2!");
}
}
class Component3
{
Component3()
{
System.out.println("This is Component3!");
}
}
public class Root { Root()
{
System.out.println("This is Root!");
}
Component1 aa=new Component1();
Component2 bb=new Component2();
Component3 cc=new Component3();
public static void main(String[] args) {
new Root();
}} 这个程序为什么是先执行 Component1 aa=new Component1();
Component2 bb=new Component2();
Component3 cc=new Component3(); 然后才执行Root类的构造方法!
{
Component1()
{
System.out.println("This is Component1!");
}
}class Component2
{
Component2()
{
System.out.println("This is Component2!");
}
}
class Component3
{
Component3()
{
System.out.println("This is Component3!");
}
}
public class Root { Root()
{
System.out.println("This is Root!");
}
Component1 aa=new Component1();
Component2 bb=new Component2();
Component3 cc=new Component3();
public static void main(String[] args) {
new Root();
}} 这个程序为什么是先执行 Component1 aa=new Component1();
Component2 bb=new Component2();
Component3 cc=new Component3(); 然后才执行Root类的构造方法!
Component2 bb=new Component2();
Component3 cc=new Component3(); 都是成员变量,成员变量的初始化先执行,然后是Root构造体!
结果 是
This is print
This is Component1!
This is Component2!
This is Component3!
This is Root!
返回该类对象的引用,所以一定要确保对象的所有成员先初始化才能够返回引用。