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!