共計(jì) 640 個(gè)字符,預(yù)計(jì)需要花費(fèi) 2 分鐘才能閱讀完成。
在 Java 中,可以使用反射機(jī)制來(lái)調(diào)用 private 方法。
首先,需要獲取 Class 對(duì)象??梢允褂?Class.forName()
方法傳入類(lèi)的全限定名來(lái)獲取 Class 對(duì)象,或者直接使用 類(lèi)名.class
來(lái)獲取。
然后,使用 getDeclaredMethod()
方法來(lái)獲取指定的方法。需要傳入方法名和參數(shù)類(lèi)型。
接下來(lái),設(shè)置方法的可訪(fǎng)問(wèn)性,使用 setAccessible(true)
方法將方法的可訪(fǎng)問(wèn)性設(shè)置為 true,即可以訪(fǎng)問(wèn) private 方法。
最后,使用 invoke()
方法來(lái)調(diào)用方法。需要傳入方法所屬的對(duì)象(如果是靜態(tài)方法,則傳入 null)以及方法的參數(shù)。
以下是示例代碼:
import java.lang.reflect.Method;
public class Main {private void privateMethod() {System.out.println(" 調(diào)用了私有方法 ");
}
public static void main(String[] args) throws Exception {Class<?> clazz = Class.forName("Main");
Method method = clazz.getDeclaredMethod("privateMethod");
method.setAccessible(true);
Main instance = new Main();
method.invoke(instance);
}
}
這樣,就可以成功調(diào)用 private 方法。
丸趣 TV 網(wǎng) – 提供最優(yōu)質(zhì)的資源集合!
正文完