Ordre d'exécution de l'initialiseur en Java
L'extrait de code donné soulève une question concernant l'ordre dans lequel les champs et les constructeurs sont initialisés en Java. Contrairement à l'attente selon laquelle les constructeurs précèdent l'initialisation du champ, la sortie du programme - "YXZY" - suggère le contraire.
Pour clarifier ce comportement, examinons l'ordre d'initialisation réel en Java :
Initialiseurs de variables statiques et Blocs :
Appel Super() :
Initialiseurs et blocs de variables d'instance :
Corps du constructeur :
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!