Utilisation du mot clef "super" dans un context static

Résolu
Signaler
Messages postés
24
Date d'inscription
mercredi 29 novembre 2000
Statut
Membre
Dernière intervention
22 février 2006
-
Messages postés
24
Date d'inscription
mercredi 29 novembre 2000
Statut
Membre
Dernière intervention
22 février 2006
-
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

Messages postés
764
Date d'inscription
mardi 25 mai 2004
Statut
Membre
Dernière intervention
8 mars 2011
8
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()
Messages postés
24
Date d'inscription
mercredi 29 novembre 2000
Statut
Membre
Dernière intervention
22 février 2006

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