首页 > 编程语言 > 详细

在java类中,是先执行类的构造函数还是先执行类的私有非静态变量

时间:2016-11-27 19:17:29      阅读:485      评论:0      收藏:0      [点我收藏+]

举例子:

package test_instance;

public class TestClassLoaderTime {  
       
       public TestClassLoaderTime(){  
            System.out.println("构造器执行");  
       }
       
       {  
             System.out.println("静态代码块执行");  
       }  
       static Demo2 demo2 = new Demo2();  
       
       private Demo3 demo3 = new Demo3();  
       
       public static void main(String[] args) {  
              System.out.println("main方法执行");  
              new TestClassLoaderTime();  
              System.out.println("TestClassLoaderTime实例化过");  
        }  
       
    }  


执行结果:

Initialization the Demo2.....
main方法执行
静态代码块执行
Initializaiton the Demo3....
构造器执行
TestClassLoaderTime实例化过

所以是按照如下顺序执行的:

1.Demo2的构造函数执行   (静态属性)
2.main方法执行  
3.静态代码块执行  
4.Demo3的构造函数执行    (非静态属性)
5.构造器执行               
6.TestClassLoaderTime实例化过  

 

在java类中,是先执行类的构造函数还是先执行类的私有非静态变量

原文:http://www.cnblogs.com/Berryxiong/p/6106752.html

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