package cn.ii8080.main;
public class ModTest {
private ModTest(){
}
private static String testM(String str){
return "ok"+str;
}
}
public class ModTest {
private ModTest(){
}
private static String testM(String str){
return "ok"+str;
}
}
请问如何通过反射调用ModTest类中的testM方法?
大家应该知道,只有一个无参的私有构造方法是无法继承的,如果要调用其中的方法那么就是如下代码:
public static void main(String[] args) throws Exception { Class<ModTest> modTestClass = ModTest.class; Constructor<ModTest> declaredConstructor = modTestClass.getDeclaredConstructor(); declaredConstructor.setAccessible(true); Method method = modTestClass.getDeclaredMethod("testM", String.class); method.setAccessible(true); Object aa = method.invoke(declaredConstructor.newInstance(), "
fuck me"); System.out.println(aa);}
本文介绍如何使用Java反射机制来调用一个类中的私有方法。以ModTest类为例,演示了如何调用其私有的testM方法,并提供了一个完整的代码示例。
641

被折叠的 条评论
为什么被折叠?



