标签:log 顺序 [] 静态代码块 print 执行 blog system instance
举例子:
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类中,是先执行类的构造函数还是先执行类的私有非静态变量
标签:log 顺序 [] 静态代码块 print 执行 blog system instance
原文地址:http://www.cnblogs.com/Berryxiong/p/6106752.html