Mit Reflection die Namen eines _Objekts_ herausfinden



  • Hallo,

    kann ich mit Reflection den Namen eines Objekts herausfinden?
    Damit meine ich nicht den Namen der Klasse, sonder bei

    Klasse x = new Klasse();
    

    haette ich gerne das "x" wieder. Die Information muss ja zumindest
    im Byte-Code vorhanden sein, denn sonst könnte ein decompiler ja
    den Code nicht mit den Orginalnamen wiederherstellen (und JAD kann
    das beispielsweise). Oder ein Debugger kann ja auch dem Namen entsprechend
    Watches anlegen...

    Danke und Gruss,

    Stefan



  • Hmm, kein sein, dass ich mich irre. Aber ich glaube, dass ein Objekt keinen Namen hat. Schau dir mal das untere Beispiel an. Im Hauptprogramm "heißt" deine Objekt myUhr. In der Methode hingegen xyz. Das heißt, dass ein Objekt mehrere Referenzen auf sich haben kann. Deswegen wäre es IMHO sinnlos, dass Java den Namen, mit dem du das Objekt erzeugt hast, speichert.

    class uhr
    {
        // ...
    }
    
    main()
    {
        uhr myUhr = new uhr();
        beispiel(myUhr);
    }
    
    void beispiel(uhr xyz)
    {
        // Hier ist xyz ne andere Referenz auf dein Objekt
    }
    

    Korrigiert mich bitte, wenn ich mich irren sollte.



  • Du hast natürlich recht mit dem Hinweis, dass das Objekt mehrere
    Namen haben kann... Dann muss ich mein Prob. mal aus ner ganz anderen Richtung angehen... Danke auf jeden Fall! 👍



  • Wofür brauchst du das denn überhaupt?



  • Mach doch ein Attribut "name".

    class Blaaaaaaaaa
    {
         public String name;
    }
    


  • DEvent schrieb:

    Mach doch ein Attribut "name".

    class Blaaaaaaaaa
    {
         public String name;
    }
    

    Das bringt's nicht, denn:

    Java_Reflection schrieb:

    Du hast natürlich recht mit dem Hinweis, dass das Objekt mehrere
    Namen haben kann... Dann muss ich mein Prob. mal aus ner ganz anderen Richtung angehen... Danke auf jeden Fall! 👍


Anmelden zum Antworten