Constructeur/destructeur
Le constructeur
Le constructeur est un terme abusif, car notre instance est déjà construite lorsque le "constructeur" est lancé, Vous vous contenterez donc d'initialiser l'instance en réalité.
Le constructeur porte le même nom que celui de la classe et ne pourra pas être abstract. De plus, il ne retournera jamais rien.
Il devra s'écrire de la manière suivante:
où le modifieur sera public, protected, private ou rien (qui n'est pas la même chose que public et ne correspond à "private" du C++ !)
Le constructeur n'est pas obligatoire, si vous ne le codez pas, le système va rechercher automatiquement le constructeur de la classe mère et ainsi de suite...
Le constructeur, s'il existe, pourra à son tour lancer le constructeur de la classe mère en utilisant super avec éventuellement les paramètres si celui-ci en attend !
Exemple:
super();
ou super (param1, param2, ...);
Le destructeur
Le destructeur n'existe pas dans java, c'est en effet le ramasse-miettes qui va gérer la destruction d'un objet ainsi que de la libération des ressources. Vous n'avez rien à faire à ce niveau...
Il sera cependant possible de déclarer une méthode finalize () qui sera appelée par le carbadge collector...
Le finalize n'est
appelé que par la carbadge collector. Encore faut-il qu'il soit lancé
! Un arrêt normal du programme ou un plantage ne déclenchera pas
le carbadge collector.
public void finalize() {...}