Java初始化(构造器)

在类的内部,变量定义的先后顺序决定了初始化的顺序。即使变量定义散布于方法定义之间,它们仍旧会在任何方法(包括构造器)被调用之前得到初始化。

import static humeng.com.cnblogs.util.Print.*;

class Window{
    Window(int marker){println("Window(" + marker + ")");}
}

class House{
    Window w1 = new Window(1);
    
    House(){
        println("House()");
        w3 = new Window(33);
    }
    
    Window w2 = new Window(2);
    
    void f(){
        println("f()");
    }
    
    Window w3 = new Window(3);
}

public class OrderOfInitialization {

    public static void main(String[] args){
        House house = new House();
        house.f();
    }
}

OutPut:

Window(1)
Window(2)
Window(3)
House()
Window(33)
f()
posted @ 2014-02-28 18:00  humeng126  阅读(308)  评论(0编辑  收藏  举报