java中成员 变量的初始化顺序
1.在java类内部,最先执行静态代码块,在类内部,变量定义的先后顺序决定了初始化的顺序,变量的初始化顺序在任何方法的被调用之前执行
package cn.ynu;
/**最先执行静态代码块,在类内部,变量定义的先后顺序决定了初始化的顺序,变量的初始化顺序在任何方法的被调用之前执行*/
public class OrderOfInitialization {
static{
System.out.println("static");
}
public static void main(String args[]){
House h= new House(1);
h.f();
}
}
class Windows{
public Windows(int i){
System.out.println("windows:"+i);
}
}
class House{
Windows w1= new Windows(1);
public House(int i){
System.out.println("house:"+i);
}
Windows w2= new Windows(2);
public void f(){
System.out.println("hello");
}
Windows w3= new Windows(3);
}
输出结果为:
static
windows:1
windows:2
windows:3
house:1
hello