IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage Java Discussion :

Afficher la reference d'un objet ???


Sujet :

Langage Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Novembre 2003
    Messages
    47
    Détails du profil
    Informations forums :
    Inscription : Novembre 2003
    Messages : 47
    Par défaut Afficher la reference d'un objet ???
    D'abord bonjour a tous,

    J'ai un petit probleme ... Voila j'aimerai afficher la reference d'un objet d'une classe qui a redefinie la methode toString() quelle a herité implicitement de la classe Object, bref pas moyen de l'obtenir en fesant simplement un "System.out.println(MonInstance)". Je ne peux pas rajouter de fonction a ma classe derivée pour ecrire un methode ds laquelle j'aurais ecris "return super.toString()". Je pensais qu'on pouvait acceder aux methodes de la classe de base mm qd celle ci sont redefinies ds les classes derivees en castant (ds mon cas "((Object)MonInstance).toString())" ) mais apparement ca ne marche pas !

    Bref si quelqu'un a une idee pour afficher cette foutu reference et m'expliquer comment acceder au methode d'une classe de base qui ont ete redefinie ds une classe derivée a partir d'une instance de la classe derivée (et de l'experieur de la classe)... je suis preneur ...

  2. #2
    Expert confirmé
    Avatar de Baptiste Wicht
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2005
    Messages
    7 431
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : Suisse

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2005
    Messages : 7 431
    Par défaut
    Voilà la méthode toString de la classe Object :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    
    public String toString() {
          return getClass().getName() + "@" + Integer.toHexString(hashCode());
    }
    
    Tu n'as qu'à mettre ce code dans ta méthode toString en plus de ce que tu as mis dedans et ca remarchera

  3. #3
    Membre Expert
    Homme Profil pro
    Dév. Java & C#
    Inscrit en
    Octobre 2002
    Messages
    1 414
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Dév. Java & C#
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2002
    Messages : 1 414
    Par défaut
    Citation Envoyé par wichtounet
    Voilà la méthode toString de la classe Object :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    
    public String toString() {
          return getClass().getName() + "@" + Integer.toHexString(hashCode());
    }
    
    Tu n'as qu'à mettre ce code dans ta méthode toString en plus de ce que tu as mis dedans et ca remarchera
    ça ne marchera que si aucune classe parente a redéfini la méthode hashCode.

  4. #4
    Membre Expert
    Homme Profil pro
    Dév. Java & C#
    Inscrit en
    Octobre 2002
    Messages
    1 414
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Dév. Java & C#
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2002
    Messages : 1 414
    Par défaut
    Comme d'habitude 10+ pour adiGuba ;-)

  5. #5
    Expert éminent
    Avatar de adiGuba
    Homme Profil pro
    Développeur Java/Web
    Inscrit en
    Avril 2002
    Messages
    13 938
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Java/Web
    Secteur : Transports

    Informations forums :
    Inscription : Avril 2002
    Messages : 13 938
    Billets dans le blog
    1
    Par défaut
    Salut,

    Tu ne peux pas appeller une méthode d'une classe parente si elle est redéfinie, à moins que tu ne sois à l'intérieur d'une méthode de ta classe et que tu utilises super (mais tu ne peux remonter que d'un niveau).


    Sinon pour ton problème, la méthode System.identityHashcode() pour récupérer le hashCode tel qu'il est défini dans la méthode toString() de Object (et unique pour chaque objet). Avec ceci tu peux facilement écrire une méthode similaire :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
        public static String toIdentityString(Object o) {
            if (o==null) {
                return "null";
            }
            return o.getClass().getName() + "@" + Integer.toHexString(System.identityHashCode(o));
        }
    a++

  6. #6
    Membre averti
    Inscrit en
    Novembre 2003
    Messages
    47
    Détails du profil
    Informations forums :
    Inscription : Novembre 2003
    Messages : 47
    Par défaut
    "Tu ne peux pas appeller une méthode d'une classe parente si elle est redéfinie, à moins que tu ne sois à l'intérieur d'une méthode de ta classe et que tu utilises super (mais tu ne peux remonter que d'un niveau)."

    Ah oki ca explique tout ...

    Merci a vous deux pour avoir repondu a mes deux questions !

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 1
    Dernier message: 07/11/2006, 09h57
  2. [Vector/ArrayList] Ajouter/Afficher un element de type objet specifique
    Par elbopha dans le forum Collection et Stream
    Réponses: 2
    Dernier message: 16/10/2006, 08h37
  3. [Débutant] [toString] afficher la valeur d'un objet java
    Par xman_genius dans le forum Langage
    Réponses: 1
    Dernier message: 30/05/2006, 20h28
  4. Réponses: 10
    Dernier message: 02/12/2005, 16h23
  5. reference sur un objet
    Par romeo9423 dans le forum C++
    Réponses: 5
    Dernier message: 16/02/2005, 21h53

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo