La methode super() en java

Résolu
code32 Messages postés 74 Statut Membre -  
 sami mrezgui -
Bonjour, a quoi sert la methde super(String) au niveau de constructeur d'une classe en java?
et merci de me repondre
Configuration: Windows XP
Firefox 3.0.5

1 réponse

  1. java4ever
     
    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());
    }
    }
    190
    1. Vince
       
      Merci !!!
      0
    2. yaciano
       
      très util merci beaucoup
      0
    3. sami mrezgui
       
      merci beacoup ..réponce trés detaillé
      0