Utilisation du mot clef "super" dans un context static

Résolu
Gwillherm Messages postés 24 Date d'inscription mercredi 29 novembre 2000 Statut Membre Dernière intervention 22 février 2006 - 10 févr. 2006 à 17:28
Gwillherm Messages postés 24 Date d'inscription mercredi 29 novembre 2000 Statut Membre Dernière intervention 22 février 2006 - 10 févr. 2006 à 17:46
Bonjour,
j'aimerai savoir pourquoi il n'est pas possible d'utiliser le mot clef super dans un context static ?

En gros.... j'ai une class TOTO avec une méthode public static maMethode(...).
J'ai une deuxième class TATA qui hérite de TOTO (class TATA extends TOTO).
Dans TATA je veux rajouter du code à maMethode(...), je fais donc

public static maMethode(...){
ajout de code...
ajout de code...
ajout de code...

puis super.maMethode(...); //pour appeler la méthode de la super class
}

le complilateur me met une erreur en me disant que super ne peux pas être utilisé dans un context static.

Ce qui veut dire que ma méthode ne peut être static et que je vais être obligé de créér un objet uniquement pour elle car toutes les autres méthodes de ma class sont elles static.

Gwillherm

2 réponses

super_toinou Messages postés 764 Date d'inscription mardi 25 mai 2004 Statut Membre Dernière intervention 8 mars 2011 7
10 févr. 2006 à 17:33
super() fais référence a une instance pas a une classe or dans un contexte static t as pas d instance
tu dois faire TOTO.maMethode() a la place de super().maMethode()
3
Gwillherm Messages postés 24 Date d'inscription mercredi 29 novembre 2000 Statut Membre Dernière intervention 22 février 2006
10 févr. 2006 à 17:46
Ok et bien merçi ma lanterne est un peu plus éclairée...
j'utilise comme doc le Thinking in Java mais en anglais...et j'avais effectivement trouvé des infos et des exemples d'utilisation de super mais pas cette info là !!!

Gwillherm
0
Rejoignez-nous