2016-08-01 5 views
0

Ich habe das Abendessen class A und viele Kind Klassennamen A1, A2 ...Wie erhält man den direkten Klassennamen der Instanz?

ich eine Funktion Gebrauch machen mit A und alle Kind-Klasse von A:

public void MyFunction(A Ainstance, ....) 

In dieser Funktion muss ich direkt erhalten Name der Instanz Ainstance (kann A, A1, A2 ... sein). Ich möchte nicht instance of Funktion verwenden, weil ich diese Funktion nicht ändern möchte, wenn ich mehr Kindklasse von A erstellen.

+0

Sollte nicht 'B instance of A' für alle A, A1, A2, ..., An in der obigen Methode funktionieren? – Shaishav

+0

Beispiel Ich mache eine BaseFragment-Klasse, und in meinem Projekt gibt es viele (ex> 20) Instanzen, die von BaseFragment untergeordnet sind. – phongvan

Antwort

1

Sie können Reflexion und das Klassenobjekt verwenden. Ainstance.getClass().getName();

+1

Oh, ich bin dumm. Danke für deine Antwort. – phongvan

0

können Sie auch statische machen und die classname.whatever Sie

0

Ainstance.getClass() Zugang erhalten getSimpleName().

Der obige Code gibt Ihnen den Klassennamen. :) GlbMP

Verwandte Themen