[Java] Object.toString
KX
Messages postés
16761
Date d'inscription
Statut
Modérateur
Dernière intervention
-
choubaka Messages postés 39442 Date d'inscription Statut Modérateur Dernière intervention -
choubaka Messages postés 39442 Date d'inscription Statut Modérateur Dernière intervention -
Bonjour,
Je voudrais obtenir pour un objet quelconque le résultat de la méthode toString de Object, et ce même si celle-ci est redéfinie. Je voudrais donc un résultat de la forme "classe@reference".
J'ai essayé en invoquant directement la méthode toString, mais cela ne fonctionne pas :
Plus généralement, je m'interroge sur la possibilité en Java de court-circuiter la redéfinition d'une méthode, pour appeler la méthode initialement définie par une de ses classes mères...
Merci d'avance pour toute suggestion ;-)
Je voudrais obtenir pour un objet quelconque le résultat de la méthode toString de Object, et ce même si celle-ci est redéfinie. Je voudrais donc un résultat de la forme "classe@reference".
J'ai essayé en invoquant directement la méthode toString, mais cela ne fonctionne pas :
public class Test { public static String reference(Object obj) { try { return (String) Object.class.getDeclaredMethod("toString").invoke(obj); } catch (Exception e) { return null; } } public static void main(String...args) { String s = "toto"; System.out.println(reference(s)); // "toto" :( } }
Plus généralement, je m'interroge sur la possibilité en Java de court-circuiter la redéfinition d'une méthode, pour appeler la méthode initialement définie par une de ses classes mères...
Merci d'avance pour toute suggestion ;-)
A voir également:
- [Java] Object.toString
- Jeux java itel - Télécharger - Jeux vidéo
- Waptrick java football - Télécharger - Jeux vidéo
- Eclipse java - Télécharger - Langages
- Java apk - Télécharger - Langages
- Waptrick java voiture - Télécharger - Jeux vidéo
2 réponses
bonjour
Pour appeler une méthode d'une classe supèrieure, il faut utiliser "Super.xxxx()
xxx étant le nom de la méthode
Pour appeler une méthode d'une classe supèrieure, il faut utiliser "Super.xxxx()
xxx étant le nom de la méthode
KX
Messages postés
16761
Date d'inscription
Statut
Modérateur
Dernière intervention
3 020
Quand on construit soi même la classe fille je suis d'accord, en particulier pour les constructeurs, mais comment faire quand elle est déjà créée . Par exemple ici j'ai la classe String qui hérite de Object, mais je ne peux pas faire de super sur mon String, et même si j'héritais de String (ce qui n'est pas possible vu qu'elle est final), le super me renverrait les méthodes de String, et pas d'Object. Et je ne parle même pas de A extends B extends C extends D... comment récupérer D à partir de A ?
choubaka
Messages postés
39442
Date d'inscription
Statut
Modérateur
Dernière intervention
2 105
vu comme ça ... en effet