Cet article étudie principalement les citations actives et passives des classes en Java, comme détaillé ci-dessous.
Citation active , voici cinq scénarios de citation active
1. Lorsque vous rencontrez les quatre instructions de bytecode de nouveaux, getStatic, putstatic et invokestatiques, si la classe n'est pas initialisée, elle sera initialisée, créera un objet, lire ou définir des champs statiques et appeler des méthodes statiques.
2. Réflexion
3. La classe parent sera initialisée avant l'initialisation de la sous-classe.
4. Une classe contenant la méthode principale sera initialisée au démarrage de la machine virtuelle.
5. Lors de l'utilisation du support linguistique dynamique de JDK (inconnu)
Citation passive :
class superclass {static {syso ("super init"); } public static int value = 123;} class Subclass étend SuperClass {static {syso ("subit init")}} public class constantClass {public static final hw = "helloworld";} public class notinitialisation {main () {syso (subclass.value) // superclass sc [] = new superclass [10] //syso(ConstantClass.hw);}} Sortie: super init 123 Seule la classe qui définit directement ce champ sera initialisée pour l'accès aux champs statiques. La sous-classe ne sera pas initialisée. Le premier commentaire est annulé et s'exécute sans aucune sortie. La classe de référence via la définition du tableau ne déclenchera pas l'initialisation de la classe, mais initialise une initialisation d'une sous-classe qui est automatiquement générée par la machine virtuelle et héritée de la classe d'objets. Cette classe représente un tableau. Les propriétés et les méthodes du tableau sont implémentées dans cette classe (Longueur Attributs et Clone ()). Il n'y aura pas de sortie après l'annulation du deuxième commentaire. Constant sera placé dans la piscine constante pendant la compilation. Constantclass.hw est placé dans le pool constant de la classe de notinialisation pendant la compilation. La notation n'a pas de référence symbolique à la notation.
Ce qui précède concerne la brève discussion de cet article sur les citations actives et passives aux cours de Java, et j'espère que cela sera utile à tout le monde. Les amis intéressés peuvent continuer à se référer à d'autres sujets connexes sur ce site. S'il y a des lacunes, veuillez laisser un message pour le signaler. Merci vos amis pour votre soutien pour ce site!