Liens commerciaux :
Les constructeurs :
Lorsque vous créez un objet (instanciation d'une classe), vous faites automatiquement appel à une méthode générique appelée constructeur. Cette méthode permet généralement d'assigner des valeurs aux variables définies dans la classe. Cette méthode obéit toutefois à des règles particulières :
Voici une classe dotée d'un constructeur :
public class Test
{
public Test()
{
System.out.println("L'objet a été créé");
}
}
Lorsque vous créerez l'objet Test via cette instruction : Test variable = new Test(); , ceci affichera à l'écran "L'objet a été créé".
En général, un constructeur sert plutôt à attribuer des valeurs aux attributs de la classe. Nous voici avec une classe déjà plus exploitable :
public class Test
{
private int zero;
private boolean condition;
public Test()
{
zero = 0;
condition = false;
System.out.println("L'objet a été créé");
}
}
La surcharge :
En JAVA, il existe ce que l'on appelle la surcharge de méthode. Les constructeurs n'échappent pas à cette règle. La surcharge de méthode intervient lorsque l'on nomme deux méthodes à l'identique, seuls les paramètres varient. Voici un exemple :
public class Test
{
private int zero;
private boolean condition;
public Test()
{
zero = 0;
condition = false;
System.out.println("L'objet a été créé");
}
public Test(boolean bool)
{
zero = 0;
condition = bool;
System.out.println("L'objet a été créé avec le second constructeur");
}
}
Maintenant une question se pose : quel constructeur va choisir JAVA lorsque vous allez créer votre objet ?
Tout dépend du code que vous allez utiliser :
Le destructeur :
Le destructeur est une méthode spéciale qui sera appelée (si elle est redéfinie dans la classe) lorsque l'objet sera nettoyé de la mémoire par le garbage collector. Le garbage collector est un "ramasse-miettes" chargé de faciliter la tâche des programmeurs en libérant les ressources prises en mémoire automatiquement. Cette méthode n'est pas forcément appelée lorsque vous supprimez l'objet.
Pour utiliser le destructeur vous devez redéfinir une méthode appelée finalize() publique et qui ne renvoie rien. On peut donc avoir le code suivant :
public class Test
{
private int zero;
private boolean condition;
public Test()
{
zero = 0;
condition = false;
System.out.println("L'objet a été créé");
}
public void finalize()
{
System.out.println("Objet nettoyé de la mémoire");
}
}
Modifier cet article
Historique des modifications
Forum de discussion
Partager cet article
Voir la licence de cet article
Utilisez-vous un firewall ?
(1 choix possible)