具体代码如下所示:
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中类的加载顺序执行结果,希望对大家有所帮助
您可能感兴趣的文章:
如您对本文有疑问或者有任何想说的,请点击进行留言回复,万千网友为您解惑!
网友评论