La methode super() en java [Résolu/Fermé]

code32 66 Messages postés mercredi 5 novembre 2008Date d'inscription 5 février 2012 Dernière intervention - 25 déc. 2008 à 03:28 - Dernière réponse :  yaciano
- 9 juin 2017 à 12:24
Bonjour, a quoi sert la methde super(String) au niveau de constructeur d'une classe en java?
et merci de me repondre
Afficher la suite 
66Messages postés mercredi 5 novembre 2008Date d'inscription 5 février 2012 Dernière intervention

3 réponses

+183
Utile
2
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());
}
}
Cette réponse vous a-t-elle aidé ?