Cet article présente principalement les informations pertinentes sur les résultats d'exécution de l'ordre de chargement des classes en Java. Les amis dans le besoin peuvent s'y référer
Le code spécifique est le suivant :
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("销毁子类"); } }
Résultat de l'exécution :
Méthode statique 2 de la classe parent
Bloc d'initialisation statique de la classe parent
Bloc d'initialisation statique de la sous-classe
Non statique bloc d'initialisation de la classe parent
Méthode de construction de la classe parent
Bloc d'initialisation non statique de la sous-classe
Méthode de construction de la sous-classe
Résumé
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!