首页 > 编程语言 > 详细

java 中类的初始化顺序

时间:2015-08-19 23:09:14      阅读:189      评论:0      收藏:0      [点我收藏+]

//测试代码:

1
public class Test02 2 { 3 public Test02() 4 { 5 System.out.println("Test02"); 6 } 7 public static void main(String[] args) 8 { 9 Test03 test03= new Test03();   //1 10 //Test03.f(); //2 11 // System.out.println(Test03.i); //3 12 } 13 } 14 15 class Test03 16 { 17 static int i = 3; 18 static Test02 test02 = new Test02(); 19 Test01 test01 = new Test01(); 20 21 static 22 { 23 System.out.println("static"); 24 } 25 { 26 System.out.println("nostatic"); 27 } 28 static void f() 29 { 30 System.out.println("f()"); 31 } 32 33 public Test03() 34 { 35 System.out.println("Test03"); 36 } 37 }
执行1的结果如下:
Test02
static
Test01
nostatic
Test03
 
执行2的结果如下:
Test02
static
f()
 
执行3的结果如下:
Test02
static
3
 
结论如下:
1.创建对象时,需要对该对象所在的类进行初始化,初始化的顺序为:
    静态对象>静态代码块>一般对象>普通代码块>构造方法
 
2.当只是调用类的静态变量或静态方法时,此时只初始化静态行为,即:
    静态对象>静态代码块>静态变量(静态方法)

java 中类的初始化顺序

原文:http://www.cnblogs.com/itpipi/p/4743253.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!