java变量初始化顺序

在类的内部,变量定义的先后顺序决

定了初始化的顺序。即使变量定义于方法定义之间,他们仍旧会在任何方法(包括构造方法)调用之前得到初始化。

/**
 * Created by wangw on 2016/2/28.
 */
public class Demo2 {
    public static void main(String[] args){
        House house = new House();
        house.f();
    }
}
class Window{
    Window(int marker){
        System.out.println("window-==="+marker);
    }
}
class House{
     Window w1 = new Window(1);
    House(){
        System.out.println("House()");
        w3 = new Window(33);
    }
    Window w2 = new Window(2);
    void f(){
        System.out.println("f");
    }
    Window w3 = new Window(3);
}
输出:
window-===1
window-===2
window-===3
House()
window-===33
f
原文地址:https://www.cnblogs.com/james2015/p/5225766.html