Maison >Java >JavaBase >Comment les objets sont initialisés en Java

Comment les objets sont initialisés en Java

王林
王林original
2019-11-21 16:14:023200parcourir

Comment les objets sont initialisés en Java

Processus d'initialisation d'un objet :

1 : Classe d'initialisation

Quand un objet est créé pour la première fois :

Dog dog = new Dog();

Lorsque vous accédez pour la première fois à une méthode statique ou à un champ statique d'une classe :

Dog.staticFields;

L'interpréteur Java recherchera le chemin de la classe et localisera le fichier Dog.class compilé.

Deux : Obtenez les ressources de classe

Ensuite, jvm chargera Dog.class et générera un objet de classe. A ce moment, s'il existe des méthodes ou des variables statiques, l'action d'initialisation statique sera exécutée. Veuillez noter à ce stade que l'initialisation statique ne sera exécutée qu'une seule fois lorsque l'objet Class est chargé pour la première fois lors de l'exécution du programme. Ces ressources seront placées dans la zone méthode de jvm.

La zone de méthode est également appelée zone statique. Comme le tas, elle est partagée par tous les threads.

La zone méthode contient des éléments qui sont toujours uniques dans l'ensemble du programme, y compris toutes les variables de classe et statiques.

3 : Initialiser l'objet Dog dog = new Dog()

1 Pour créer un objet Dog pour la première fois, effectuez la procédure. étapes ci-dessus un ou deux en premier

2. Allouez suffisamment d'espace de stockage pour l'objet Dog sur le tas, et toutes les propriétés et méthodes sont définies sur les valeurs par défaut (les nombres sont 0, les caractères sont nuls, le booléen est faux. , et toutes les références sont définies sur null )

3. Exécutez le constructeur pour vérifier s'il existe une classe parent, le constructeur de la classe parent sera appelé en premier. ici, Dog n'a pas de classe parent et l'affectation du champ de valeur par défaut est effectuée, qui est l'action d'initialisation de la méthode.

4. Exécutez le constructeur.

Tutoriel recommandé : Introduction au développement Java

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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn