12 Stimmen

Arbeiten mit dem Schlagwort class in Java

Ich verstehe nicht wirklich, wie das class-Schlüsselwort in einigen Fällen funktioniert.

Zum Beispiel nimmt die Methode get(ClientResponse.class) die ClientResponse.class. Wie wird dies verwendet, wenn es erhalten wird, und was sind die Vorteile gegenüber dem einfachen Übergeben einer Instanz davon?

1voto

Tomasz Nurkiewicz Punkte 322861

Hier ist ClientResponse.class eine Instanz von Class. Im Allgemeinen stellt das Class-Objekt den Typ eines Objekts dar. Wenn Sie eine neue Instanz erstellen:

Object obj = new ClientResponse()

können Sie die Klasse (Typ) dieses Objekts abrufen, indem Sie folgendes aufrufen:

obj.getClass()

Warum würden Sie also Class-Objekte übergeben? Es ist weniger häufig, aber ein Grund ist, dass eine Methode eine beliebige Anzahl von Instanzen einer bestimmten Klasse erstellen kann:

ClientResponse resp = ClientResponse.newInstance();

0voto

Kurtymckurt Punkte 337

Es gibt viele Möglichkeiten, wie Klassenobjekte verwendet werden können. Dies wird für Reflexion verwendet. Hier ist ein Link, der dir helfen kann, mehr zu verstehen.

http://docs.oracle.com/javase/tutorial/reflect/class/classNew.html

0voto

Ashutosh Punkte 11

Immer wenn wir eine Java-Datei kompilieren, wird der Compiler ein public, static, final Feld mit dem Namen class vom Typ java.lang.Class im erzeugten Bytecode einbetten. Da dieses Feld public und static ist, können wir es mit Punktnotation zusammen mit dem Klassennamen zugreifen, so wie es in Ihrem Fall ClientResponse.class ist.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X