在类的内部,变量定义的先后顺序决定了初始化的顺序,即使变量定义散布在方法定义之间,它们仍然会在任何方法(包括构造器)被调用之前得到初始化。
package zhoutao;
class Aa {
public Aa(int i){
System.out.println("Aa:" + i );
}
}
public class Bb {
Aa a1 = new Aa(2);
public Bb(){
System.out.println("Bb");
a3 = new Aa(33);
}
Aa a2 = new Aa(5);
Aa a3 = new Aa(3);
public void info(){
System.out.println("info()");
}
public static void main(String[] args) {
Bb b = new Bb();
b.info();
}
}
运行结果
Aa:2
Aa:5
Aa:3
Bb
Aa:33
info()
package zhoutao;
class Aa {
public Aa(int i){
System.out.println("Aa:" + i );
}
}
public class Bb {
Aa a1 = new Aa(2);
public Bb(){
System.out.println("Bb");
a3 = new Aa(33);
}
Aa a2 = new Aa(5);
Aa a3 = new Aa(3);
public void info(){
System.out.println("info()");
}
public static void main(String[] args) {
Bb b = new Bb();
b.info();
}
}
运行结果
Aa:2
Aa:5
Aa:3
Bb
Aa:33
info()