Heim > Java > javaLernprogramm > Hauptteil

Welche Möglichkeiten gibt es, Klassen in Java zu erhalten?

WBOY
Freigeben: 2023-05-12 14:34:06
nach vorne
2395 Leute haben es durchsucht

Erfassungsmethode

1 Wenn die spezifische Klasse bekannt ist, erhalten Sie sie über das Klassenattribut der Klasse. Diese Methode ist die sicherste und zuverlässigste und weist die höchste Programmleistung auf.

2. Wenn eine Instanz einer bestimmten Klasse bekannt ist, rufen Sie die Methode getclass() der Instanz auf, um das Klassenobjekt abzurufen.

3. Der vollständige Klassenname ist bekannt und die Klasse befindet sich im Klassenpfad. Sie kann über die häufiger verwendete statische Methode forName() der Class-Klasse abgerufen werden.

4. Durch den Klassenlader.

Instanzen

@Test
public void test2() throws ClassNotFoundException {
    //方式一:调用运行时类的属性:.class
    Class<Person> clazz1 = Person.class;
    System.out.println(clazz1);//class cn.bruce.java.Person
 
    //方式二:通过运行时类的对象,调用getClass()
    Person p1 = new Person();
    Class<? extends Person> clazz2 = p1.getClass();
    System.out.println(clazz2);//class cn.bruce.java.Person
 
    //方式三:调用Class的静态方法:forName(String classPath)
    Class<?> clazz3 = Class.forName("cn.bruce.java.Person");
    System.out.println(clazz3);//class cn.bruce.java.Person
 
    System.out.println(clazz1 == clazz2);//true
    System.out.println(clazz1 == clazz3);//true
    //方式四:使用类的加载器:ClassLoader  (了解)
    ClassLoader classLoader = ReflectionTest.class.getClassLoader();
    Class<?> clazz4 = classLoader.loadClass("cn.bruce.java.Person");
    System.out.println(clazz4);//class cn.bruce.java.Person
    System.out.println(clazz1 == clazz4);//true
}
Nach dem Login kopieren

Das obige ist der detaillierte Inhalt vonWelche Möglichkeiten gibt es, Klassen in Java zu erhalten?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:yisu.com
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage