首页   快速返回

java初始化顺序     所属分类 java
普通静态初始化,按声明顺序执行
静态初始化块
普通实例初始化,按声明顺序执行
实例初始化块
构造函数

有父类的,先执行父类初始化


测试代码 InitTest.java public class InitTest { private int num4 = getNum4(); private int num3 = getNum3(); private static int num2 = getNum2(); private static int num1 = getNum1(); public InitTest(){ System.out.println("InitTest() run"); } // init { System.out.println("init block run"); } // static init static{ System.out.println("static init block run"); } public static void main(String[] args) throws Exception { InitTest test = new InitTest(); System.out.println(test.toString()); } private static int getNum1(){ System.out.println("getNum1() run"); return 1; } private static int getNum2(){ System.out.println("getNum2() run"); return 2; } private static int getNum3(){ System.out.println("getNum3() run"); return 3; } private static int getNum4(){ System.out.println("getNum4() run"); return 4; } public String toString(){ return String.format("num1=%d,num2=%d,num3=%d,num4=%d", num1,num2,num3,num4); } }
输出结果 getNum2() run getNum1() run static init block run getNum4() run getNum3() run init block run InitTest() run num1=1,num2=2,num3=3,num4=4

上一篇     下一篇
各种日志重定向到slf4j

ServiceLoader机制及实例

什么是smart beta

springboot2启动过程简单分析

常用负载均衡算法

注解组合和继承