您的位置:首页 > 编程语言 > Java开发

关于java构造器初始化顺序例子

2016-04-29 15:44 513 查看
今天看到一个关于java初始化顺序的问题,以往从来没有意识到这个初始化的顺序竟然如此有趣,下面为自己编写的一个关于验证初始化顺序的小Dome

 

package test;

import static test.PrintDome.*;

public class InitOrder {

 public static void main(String[] args) {

  // TODO Auto-generated method stub

       House house = new House();

       house.printMess();

 }

}

class Window{

    Window(int num){

     print(num);

    }

 }

  class  House{

  Window w1 = new Window(1);

  House(){

  
4000
 print("Hourse()");

   Window w2 = new Window(2);

  }

  Window w3 = new Window(3);

  public void printMess(){

   print(4);

  }

  Window w4 = new Window(5);

 }

 

运行结果如下:

1

3

5

Hourse()

2

4

 

原来每次初始化都会先初始化当前方法中所有的构造器,且是最内层的构造器最先初始化,如运行结果所示非常清晰。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: