Freigeben über


Class.ForName Methode

Definition

Überlädt

ForName(String)

Gibt das Class Objekt zurück, das der Klasse oder Schnittstelle mit dem angegebenen Zeichenfolgennamen zugeordnet ist.

ForName(String, Boolean, ClassLoader)

Gibt das Class Objekt zurück, das der Klasse oder Schnittstelle mit dem angegebenen Zeichenfolgennamen zugeordnet ist. Dabei wird das angegebene Klassenladeprogramm verwendet.

ForName(String)

Gibt das Class Objekt zurück, das der Klasse oder Schnittstelle mit dem angegebenen Zeichenfolgennamen zugeordnet ist.

[Android.Runtime.Register("forName", "(Ljava/lang/String;)Ljava/lang/Class;", "")]
public static Java.Lang.Class ForName (string className);
[<Android.Runtime.Register("forName", "(Ljava/lang/String;)Ljava/lang/Class;", "")>]
static member ForName : string -> Java.Lang.Class

Parameter

className
String

der vollqualifizierte Name der gewünschten Klasse.

Gibt zurück

das Class -Objekt für die -Klasse mit dem angegebenen Namen.

Attribute

Ausnahmen

, wenn die angeforderte Klasse nicht gefunden werden kann.

wenn während der Verknüpfung ein Fehler auftritt

, wenn während der statischen Initialisierung einer Klasse eine Ausnahme auftritt.

Hinweise

Gibt das Class Objekt zurück, das der Klasse oder Schnittstelle mit dem angegebenen Zeichenfolgennamen zugeordnet ist. Das Aufrufen dieser Methode entspricht folgendem:

<blockquote>Class.forName(className, true, currentLoader)</blockquote>

wobei currentLoader den definierenden Klassenladeer der aktuellen Klasse angibt.

Das folgende Codefragment gibt beispielsweise den Laufzeitdeskriptor Class für die Klasse mit dem Namen zurück java.lang.Thread:

<blockquote>Class t = Class.forName("java.lang.Thread")</blockquote>

Ein Aufruf von forName("X") bewirkt, dass die Klasse mit dem Namen X initialisiert wird.

Java-Dokumentation für java.lang.Class.forName(java.lang.String).

Teile dieser Seite sind Änderungen, die auf Arbeiten basieren, die vom Android Open Source Project erstellt und freigegeben wurden und gemäß den In der Attribution License beschriebenen Begriffen verwendet werden.

Gilt für:

ForName(String, Boolean, ClassLoader)

Gibt das Class Objekt zurück, das der Klasse oder Schnittstelle mit dem angegebenen Zeichenfolgennamen zugeordnet ist. Dabei wird das angegebene Klassenladeprogramm verwendet.

[Android.Runtime.Register("forName", "(Ljava/lang/String;ZLjava/lang/ClassLoader;)Ljava/lang/Class;", "")]
public static Java.Lang.Class ForName (string name, bool initialize, Java.Lang.ClassLoader? loader);
[<Android.Runtime.Register("forName", "(Ljava/lang/String;ZLjava/lang/ClassLoader;)Ljava/lang/Class;", "")>]
static member ForName : string * bool * Java.Lang.ClassLoader -> Java.Lang.Class

Parameter

name
String

vollqualifizierter Name der gewünschten Klasse

initialize
Boolean

, wenn true die -Klasse initialisiert wird. Siehe Abschnitt 12.4 von <em>The Java Language Specification</em>.

loader
ClassLoader

Klassenladeprogramm, aus dem die Klasse geladen werden muss

Gibt zurück

Klassenobjekt, das die gewünschte Klasse darstellt

Attribute

Ausnahmen

, wenn die angeforderte Klasse nicht gefunden werden kann.

wenn während der Verknüpfung ein Fehler auftritt

, wenn während der statischen Initialisierung einer Klasse eine Ausnahme auftritt.

Hinweise

Gibt das Class Objekt zurück, das der Klasse oder Schnittstelle mit dem angegebenen Zeichenfolgennamen zugeordnet ist. Dabei wird das angegebene Klassenladeprogramm verwendet. Angesichts des vollqualifizierten Namens für eine Klasse oder Schnittstelle (in dem von zurückgegebenen getNameFormat ) versucht diese Methode, die Klasse oder Schnittstelle zu suchen, zu laden und zu verknüpfen. Der angegebene Klassenladeprogramm wird verwendet, um die Klasse oder Schnittstelle zu laden. Wenn der Parameter loader NULL ist, wird die -Klasse über das Bootstrap-Klassenladeprogramm geladen. Die -Klasse wird nur initialisiert, wenn der initialize Parameter ist true und nicht zuvor initialisiert wurde.

Wenn name ein primitiver Typ oder void angegeben wird, wird versucht, eine benutzerdefinierte Klasse im unbenannten Paket zu suchen, deren Name lautet name. Daher kann diese Methode nicht verwendet werden, um eines der Objekte abzurufen, die Class primitive Typen oder void darstellen.

Wenn name eine Arrayklasse angegeben wird, wird der Komponententyp der Arrayklasse geladen, aber nicht initialisiert.

In einer instance-Methode beispielsweise der Ausdruck:

<blockquote>Class.forName("Foo")</blockquote>

entspricht:

<blockquote>Class.forName("Foo", true, this.getClass().getClassLoader())</blockquote>

Beachten Sie, dass diese Methode Fehler im Zusammenhang mit dem Laden, Verknüpfen oder Initialisieren auslöst, wie in den Abschnitten 12.2, 12.3 und 12.4 der <>Java-Sprachspezifikation</em> angegeben. Beachten Sie, dass diese Methode nicht überprüft, ob der Aufrufer auf die angeforderte Klasse zugreifen kann.

In Version 1.2 hinzugefügt.

Java-Dokumentation für java.lang.Class.forName(java.lang.String, boolean, java.lang.ClassLoader).

Teile dieser Seite sind Änderungen, die auf Arbeiten basieren, die vom Android Open Source Project erstellt und freigegeben wurden und gemäß den In der Attribution License beschriebenen Begriffen verwendet werden.

Gilt für: