Lors de la création d'un objet de classe dérivée, l'ordre d'exécution du constructeur est : le constructeur de la classe de base, le constructeur membre de l'objet de la classe dérivée et le constructeur de la classe dérivée elle-même. Lorsqu'un objet est créé, l'ordre de chargement du code est le suivant : code statique, code non statique et méthodes de constructeur.
Lors de la création d'un objet de classe dérivée, l'ordre d'exécution des constructeurs est : le constructeur de la classe de base, le constructeur membre de l'objet de la classe dérivée et le constructeur de la classe dérivée lui-même.
(Tutoriel recommandé : Programme d'introduction à Java )
Introduction détaillée :
L'ordre de chargement du code lors de la création de l'objet est : code statique ---> Code non statique -->
Si la classe parent est héritée, l'ordre de chargement est : le code statique de la classe parent --> le code statique de la sous-classe --> > le Constructeur de la classe parent --> Code non statique de la sous-classe -->
Parmi eux, le code statique comprend (méthodes statiques, variables statiques, blocs de code statiques, etc.), le code non statique est (méthodes membres, variables membres, blocs de code membre, etc.). de code, écrit au-dessus du chargement.
(Tutoriel vidéo recommandé : Tutoriel vidéo Java )
Exemple :
public class ExtendsTest { public static void main(String[] args) { // TODO Auto-generated method stub C c = new D(); } } class C { static { System.out.println("C 基类静态域 "); } { System.out.println("C 基类对象成员构造函数"); } public C() { System.out.println("C 基类本身的构造函数"); } } class D extends C { static { System.out.println("D 派生类静态域"); } { System.out.println("D 派生类对象成员构造函数"); } public D() { System.out.println("D 派生类本身的构造函数"); } }
Résultat de sortie :
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!