在以下代码中,故意将t1,t2,t3的顺序安插在构造方法与方法之中,然后实例化对象后可以看出,变量的初始化顺序是在构造方法之前就已经完成。
class TestDemo{
TestDemo(int i){
System.out.println("TestDemo" + i);
}
void fun1(){
System.out.println("fun1");
}
public static void main(String args[]){
A a = new A();
a.fun2();
}
}
class A{
TestDemo t1 = new TestDemo(1);
A(){
System.out.println("A{}");
}
TestDemo t2 = new TestDemo(2);
void fun2(){
System.out.println("fun2");
t2.fun1();
}
TestDemo t3 = new TestDemo(3);
}
输出结果为:
TestDemo1
TestDemo2
TestDemo3
A{}
fun2
fun1