Programmation Java/Instanciation et cycle de vie
Un livre de Wikibooks.
Sections |
[modifier] 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 écrit :
MaClasse cl = new MaClasse("hello");
[modifier] 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 :
public class MaClasse { // Attributs private String name; // Constructeurs public MaClasse() { name = "defaut"; } public MaClasse(String s) { name = s; } }
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.
[modifier] Nettoyage
[modifier] 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érencé, 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.
[modifier] Finalisation
Lors de la libération des objets par le ramasse-miettes, celui-ci appelle la méthode finalize() afin que l'objet libère les resources qu'il utilise.