La methode super() en java
Résolu/Fermé
code32
Messages postés
66
Date d'inscription
mercredi 5 novembre 2008
Statut
Membre
Dernière intervention
5 février 2012
-
25 déc. 2008 à 03:28
sami mrezgui - 2 janv. 2018 à 01:33
sami mrezgui - 2 janv. 2018 à 01:33
A voir également:
- Java super
- Super copier - Télécharger - Gestion de fichiers
- Super bff snapchat disparu ✓ - Forum Snapchat
- La méthode range de l'objet _global a échoué ✓ - Forum VB / VBA
- Perte cœurs rose snap - Forum Snapchat
- Pc super lent - Guide
1 réponse
super() sert à appeler un constructeur de la classe parente d'une classe.
Ceci est rendu nécessaire lorsque qu'on déclare une classe étendant une autre classe, et que celle-ci ne possède pas de constructeur avec les mêmes arguments.
Un exemple valant souvent mieux ... voici un petit programme à essayer. Tu peux t'ammuser à mettre ne commentaire la ligne super(..) et voir l'erreur du compilateur.
Par contre, si t veux le détail des mécanismes sur les constructeurs java, consulte la doc Sun (java.sun.com) ou un bouquin sur java.
J'espère que ceci répond à peu près à ta question. Joyeux Noël !
public class Derivee extends Base
{
/**
* un construteur sans argument
* On est oblige, par la méthode super(String) d'appeler
* le constructeur de la classe parente (classe ici nommée Base)
* parceque celle-ci ne fournit pasde constructeur sans argument.
*/
public Derivee()
{
// appel obligatoire parce que la classe Base ne déclare
// qu'un constructeur avec argument de type String.
super("Inconnu");
}
}
class Base
{
private String nom;
// Constructeur avec une chaîne
public Base(String pnom)
{
nom = pnom;
}
// renvoie le nom
public String getNom()
{
return nom;
}
/* Méthode qui permet le test */
public static void main(String[] args)
{
// Sin lance java avec cette classe, on va obtenir "inconnu"
Derivee une = new Derivee();
System.out.println(une.getNom());
}
}
Ceci est rendu nécessaire lorsque qu'on déclare une classe étendant une autre classe, et que celle-ci ne possède pas de constructeur avec les mêmes arguments.
Un exemple valant souvent mieux ... voici un petit programme à essayer. Tu peux t'ammuser à mettre ne commentaire la ligne super(..) et voir l'erreur du compilateur.
Par contre, si t veux le détail des mécanismes sur les constructeurs java, consulte la doc Sun (java.sun.com) ou un bouquin sur java.
J'espère que ceci répond à peu près à ta question. Joyeux Noël !
public class Derivee extends Base
{
/**
* un construteur sans argument
* On est oblige, par la méthode super(String) d'appeler
* le constructeur de la classe parente (classe ici nommée Base)
* parceque celle-ci ne fournit pasde constructeur sans argument.
*/
public Derivee()
{
// appel obligatoire parce que la classe Base ne déclare
// qu'un constructeur avec argument de type String.
super("Inconnu");
}
}
class Base
{
private String nom;
// Constructeur avec une chaîne
public Base(String pnom)
{
nom = pnom;
}
// renvoie le nom
public String getNom()
{
return nom;
}
/* Méthode qui permet le test */
public static void main(String[] args)
{
// Sin lance java avec cette classe, on va obtenir "inconnu"
Derivee une = new Derivee();
System.out.println(une.getNom());
}
}
11 avril 2017 à 17:46
9 juin 2017 à 12:24
2 janv. 2018 à 01:33