首页 > 代码库 > 类初始化过程
类初始化过程
类初始化过程
1. 初始化父类的静态成员和静态代码块,按顺序执行,只执行一次;
2. 初始化子类的静态成员和静态代码块,按顺序执行,只执行一次;
3. 初始化父类的实例成员和实例代码块,按顺序执行,每次创建对象都执行一次;
4. 初始化父类的构造方法,每次创建对象都执行一次;
5. 初始化子类类的实例成员和实例代码块,按顺序执行,每次创建对象都执行一次;
6. 初始化子类的构造方法,每次创建对象都执行一次;
1 package test; 2 3 class ClassInitSuper{ 4 static { 5 System.out.println("super static init"); 6 } 7 8 { 9 System.out.println("super instance init"); 10 } 11 12 public ClassInitSuper(){ 13 System.out.println("super new init"); 14 } 15 } 16 17 18 public class ClassInit extends ClassInitSuper{ 19 20 static { 21 System.out.println("sub static init"); 22 } 23 24 { 25 System.out.println("sub instance init"); 26 } 27 28 public ClassInit(){ 29 System.out.println("sup new init"); 30 } 31 32 public static void main(String[] args) { 33 new ClassInit(); 34 new ClassInit(); 35 36 } 37 38 public static void test(){ 39 40 41 } 42 43 }
输出结果如下:
super static init sub static init super instance init super new init sub instance init sup new init super instance init super new init sub instance init sup new init
类初始化过程
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。