Java中类的加载顺序执行结果
2017-10-11 15:19
337 查看
public class Parent { public static int a = parentStaticMethod2(); { System.out.println("父类非静态初始化块"); } static { System.out.println("父类静态初始化块"); } public Parent() { System.out.println("父类的构造方法"); } public static int parentStaticMethod() { System.out.println("父类类的静态方法1"); return 10; } public static int parentStaticMethod2() { System.out.println("父类的静态方法2"); return 9; } @Override protected void finalize() throws Throwable { // TODO Auto-generated method stub super.finalize(); System.out.println("销毁父类"); } public static void main(String[] args) { new Child(); } } class Child extends Parent { { System.out.println("子类非静态初始化块"); } static { System.out.println("子类静态初始化块"); } public Child() { System.out.println("子类的构造方法"); } public static int childStaticMethod() { System.out.println("子类的静态方法"); return 1000; } @Override protected void finalize() throws Throwable { // TODO Auto-generated method stub super.finalize(); System.out.println("销毁子类"); } }
执行结果:
父类的静态方法2
父类静态初始化块
子类静态初始化块
父类非静态初始化块
父类的构造方法
子类非静态初始化块
子类的构造方法
相关文章推荐
- Java中类的加载顺序执行结果
- java中类的加载和执行顺序
- java中类的加载,及执行顺序
- Java代码执行顺序(静态变量,非静态变量,静态代码块,代码块,构造函数)加载顺序
- Java类被加载时执行的顺序问题
- java中运行时执行顺序和测试类加载顺序
- java中类的加载,及执行顺序【转】
- java静态代码块,静态方法和非静态方法的加载顺序和执行顺序
- java程序在执行过程中,类,对象以及它们成员加载、初始化的顺序如下:
- java中类的加载,及执行顺序
- java 中try catch finally 的具体执行顺序返回结果+代码测试
- Java继承之间类的加载顺序, 以及代码块、构造块的执行顺序
- Java 类加载执行顺序
- java中类的加载,及执行顺序
- Java--类加载时执行方法顺序
- 请运行TestStaticInitializeBlock.java示例,观察输出结果,总结出“静态初始化块的执行顺序”。
- Java类被加载时执行的顺序问题
- java中类的加载,及执行顺序
- java中类加载和执行顺序
- Java中类加载的执行顺序