zoukankan      html  css  js  c++  java
  • 在java类中,是先执行类的构造函数还是先执行类的私有非静态变量

    举例子:

    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实例化过  

  • 相关阅读:
    test1
    servlet的生命周期
    关与JdbcTemplate"的thread "main" org.springframework.jdbc.BadSqlGrammarException
    正则表达式
    @Autowired和@Resource的区别
    kubernetes安装
    docker相关
    KIBANA
    mysql在centos上安装
    MySql不错的文章
  • 原文地址:https://www.cnblogs.com/Berryxiong/p/6106752.html
Copyright © 2011-2022 走看看