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

Bagaimana untuk memanggil kaedah menggunakan refleksi Java?

WBOY
Lepaskan: 2023-04-24 14:22:07
ke hadapan
2071 orang telah melayarinya

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));
Salin selepas log masuk

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

Boleh hanya dapatkan pembina dalam kelas Pembina kebenaran awam

public Constructor getDeclaredConstructor(Class<?>… parameterTypes)
Salin selepas log masuk

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)
取得本类中全部普通方法,包括私有方法。
Salin selepas log masuk

Atas ialah kandungan terperinci Bagaimana untuk memanggil kaedah menggunakan refleksi 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