Donnerstag, Dezember 12, 2019

Holen Sie sich die äußeren class-Objekt einer inneren Klasse-Objekt

In einer nussschale, ich bin versucht zu tun, die inverse der „classObject.getDeclaredClasses()„.

Habe ich eine Methode empfängt ein Objekt vom Typ Class<? extends Object>. Ich möchte herausfinden, ob es ist eine innere Klasse, und wenn es ist, ich will den Zugriff auf die umgebende Klasse “ object-Instanz.

Ist es eine intelligente API für dieses, oder bin ich gezwungen, zu tun, einige string-manipulation und Analyse?

InformationsquelleAutor Henrik Paul | 2010-10-29

2 Kommentare

  1. 21

    Du suchst die Class.getDeclaringClass() Methode:

    public Class getDeclaringClass()

    Wenn die Klasse oder das interface repräsentiert durch diese Klasse-Objekt ist ein Mitglied von
    anderen Klasse, liefert das Class-Objekt, das die Klasse, in der es
    deklariert war. Diese Methode gibt null zurück, wenn diese Klasse oder Schnittstelle nicht
    Mitglied einer anderen Klasse. Wenn das Class-Objekt repräsentiert ein array-Klasse,
    ein primitiver Typ oder void,dann gibt diese Methode null zurück.

    Gibt: das deklarieren der Klasse für diese Klasse

    • Ugh, ich fühle mich dumm. Natürlich bin ich auf der Suche für diese. Danke!
    • getEnclosingClass wird besser funktionieren, falls die Klasse in Frage anonym ist.
  2. 1

    Verweisen auf die Äußere Instanz der Klasse Aus der Inneren Klasse Code

    Wenn die innere Klasse muss der code einen Verweis auf die äußere Klasse Beispiel, dass es angebracht ist, verwenden Sie den Namen der äußeren Klasse, einen Punkt und diese

    * remember that if there is no name conflict, there is no need for any special syntax
    * for code in MyInner to obtain a reference to its MyOuter:
    
      MyOuter.this

    statische Innere Klassen

    Innere Klasse kann markiert werden, wie statische

    Einer statischen inneren Klasse meine instanziiert werden, ohne eine Instanz der äußeren Klasse

    * static members of the outer class are visible to the inner class, no matter what their access level
    * non-static members of the outer class are not available, since there is not instance of the outer class to retrieve them from

Kostenlose Online-Tests

Letzte Fragen

Tun ItemView löst Blase?

Ich habe eine CompositeView für eine Tabelle. Ich habe Trigger-set in der Kind-ItemView für jede Zeile... var TableRow = Marionette.ItemView.extend({ tagName:...

Wie kann ich untersuchen, WCF was 400 bad request über GET?

Die folgenden WCF-endpoint funktioniert gut mit dem WCF test client: AssetList ListFlaggedAssets(short processCode, string platform, string endpoint = "null", string portalId = "null", int...

Bei der Verwendung von UUIDs, sollte ich auch mit AUTO_INCREMENT?

Wir bauen eine neue web-app, die eine offline-iPad - /Android-app-version auf einer Reihe von lokalen Geräten, die Einsätze mit neuen Daten. Als solche benötigen...

Actionscript-Objekt, das verschiedene Eigenschaften

Wie kann ich die Anzahl der Eigenschaften in einer generischen Actionscript-Objekt? (Wie die Array-Länge) InformationsquelleAutor Fragsworth | 2011-01-15

Wie plot mehrere Graphen und nutzen Sie die Navigations-Taste im [matplotlib]

Die neueste version von matplotlib erstellt automatisch Navigations-buttons unter den graph. Aber die Beispiele, die ich finden alles im Internet zeigen, wie erstellen Sie...