Rumah > Java > javaTutorial > Apakah cara untuk mendapatkan kelas dalam java

Apakah cara untuk mendapatkan kelas dalam java

WBOY
Lepaskan: 2023-05-12 14:34:06
ke hadapan
2441 orang telah melayarinya

Kaedah pemerolehan

1 Jika kelas tertentu diketahui, dapatkannya melalui atribut kelas bagi kelas ini adalah yang paling selamat dan boleh dipercayai, serta mempunyai atur cara yang paling tinggi prestasi.

2 Jika anda mengetahui contoh kelas tertentu, panggil kaedah getclass() contoh itu untuk mendapatkan objek Kelas.

3. Nama kelas penuh diketahui, dan kelas berada di laluan kelas dan boleh diperolehi melalui kaedah statik untukName() kelas ClassNotFoundException, yang lebih biasa digunakan.

4. Melalui pemuat kelas.

Instance

@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
}
Salin selepas log masuk

Atas ialah kandungan terperinci Apakah cara untuk mendapatkan kelas dalam java. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Label berkaitan:
sumber:yisu.com
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan