« Programmation Java/Instanciation et cycle de vie » : différence entre les versions

Contenu supprimé Contenu ajouté
m titres ajoutés
Aucun résumé des modifications
Ligne 1 :
{{Programmation Java}}
 
== Mot cléL'instruction ''new'' ==
L'instruction ''<code>new''</code> permet d'instancier une classe en utilisant l'un des constructeurs de la classe.
 
Par exemple pour créer un objet de type ''MaClasse'', on écrira :
 
MaClasse cl = new MaClasse("hello");
 
== Les constructeurs ==
Un constructeur est une méthode particulière de la classe appelée lors de la création d'une instance de la classe.
Son rôle est d'initialiser les membres de l'objet juste créé.
Un constructeur a le même nom que sa classe et n'a pas de valeur de retour.
 
Dans l'exemple suivant la classe ''MaClasse'' dispose de deux constructeurs, l'un ne prenant aucun paramètre et l'autre prenant un paramètre de type ''String'' :
Ligne 26 ⟶ 34 :
</pre>
 
Toute classe possède un constructeur. Cependant, il n'est pas obligatoire de déclarer un constructeur pour une classe. En effet, si aucun constructeur n'est déclaré dans une classe, un constructeur sans paramètre est ajouté de manière implicite. Celui-ci ne fait rien.
 
 
== Nettoyage ==
=== Finalisation ===
=== Ramasse-miettes (Garbage Collector) ===
Le ramasse-miettes garde un compteur du nombre de référence pour chaque objet.
Dès qu'un objet n'est plus référence, celui-ci est marqué.
Lorque le ramasse-miettes s'exécute (en général quand l'application ne fait rien), les objets marqués sont libérés.
=== Finalisation ===
Lors de la libération des objets par le ramasse-miettes, celui-ci appelle la méthode <code>finalize()</code> afin que l'objet libère les resources qu'il utilise.
 
== Représentation des objets dans la mémoire ==
Ligne 39 ⟶ 51 :
=== Constantes et membres static ===
=== Attributs ===
 
== L'instruction ''new'' ==
L'instruction ''new'' permet d'instancier une classe en utilisant l'un des constructeurs de la classe.
 
Par exemple pour créer un objet de type ''MaClasse'', on écrira :
 
<tt>
MaClasse cl = new MaClasse("hello");
</tt>