日期:2014-05-17  浏览次数:20639 次

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


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

运行结果:
1.Demo2的构造函数执行  
2.main方法执行  
3.静态代码块执行  
4.Demo3的构造函数执行  
5.构造器执行  
6.TestClassLoaderTime实例化过  

------解决方案--------------------
给楼主推荐个博文 Java之美[从菜鸟到高手演变]之类与对象(一)