Home >Java >javaTutorial >Detailed introduction to the execution results of loading order of classes in Java
This article mainly introduces the relevant information about the loading order execution results of classes in Java. Friends in need can refer to it
The specific code is as follows:
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("销毁子类"); } }
Execution result:
Static method 2 of parent class
Static initialization block of parent class
Static initialization block of subclass
Non-static initialization block of parent class
Construction method of parent class
Non-static initialization block of subclass
Construction method of subclass
Summary
The above is the detailed content of Detailed introduction to the execution results of loading order of classes in Java. For more information, please follow other related articles on the PHP Chinese website!