Rumah >Java >javaTutorial >Bagaimana untuk memanggil kaedah menggunakan refleksi Java?

Bagaimana untuk memanggil kaedah menggunakan refleksi Java?

WBOY
WBOYke hadapan
2023-04-24 14:22:072065semak imbas

1. Untuk memanggil kaedah statik

Class<?> threadClazz = Class.forName("java.lang.Math");
Method method = threadClazz.getMethod("abs", long.class);
System.out.println(method.invoke(null, -10000l));

Hanya tetapkan parameter pertama kaedah invoke kepada null.

2. Panggil pembina dalam kelas

Dapatkan pembina jenis parameter yang ditentukan dalam kelas

public Constructor getConstructor(Class<?>… parameterTypes) throws NoSuchMethodException, SecurityException

Boleh hanya dapatkan pembina dalam kelas Pembina kebenaran awam

public Constructor getDeclaredConstructor(Class<?>… parameterTypes)

boleh mendapatkan semua pembina dalam kelas, termasuk pembina persendirian.

3. Panggil kaedah biasa dengan nama yang ditentukan dalam kelas

public Method getMethod(String name, Class<?>… parameterTypes)
//方法有重载所以要传名称和参数类型取得本类以及父类中所有public方法
public Method getDeclaredMethod(String name, Class<?..parameterTypes)
取得本类中全部普通方法,包括私有方法。

Atas ialah kandungan terperinci Bagaimana untuk memanggil kaedah menggunakan refleksi Java?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Artikel ini dikembalikan pada:yisu.com. Jika ada pelanggaran, sila hubungi admin@php.cn Padam