调用java的私有方法
2006-08-08 01:00
399 查看
package base;
import java.lang.reflect.Method;
public class PrivateTestCall {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
try{
//method one
Method m=PrivateTest.class.getDeclaredMethod("print", new Class[]{});
m.setAccessible(true);
m.invoke(new PrivateTest(), new Object[]{});
//method two
PrivateTest privateTest=new PrivateTest();
Method m1=privateTest.getClass().getMethod("print2", null);
m1.setAccessible(true);
m1.invoke(privateTest, null);
//method three
Method m2=PrivateTest.class.getMethod("print2", null);
m2.setAccessible(true);
m2.invoke(new PrivateTest(), null);
}catch(Exception e){
e.printStackTrace();
}
}
}
package base;
public class PrivateTest {
private void print(){
System.out.println("in private method");
}
public void print2(){
System.out.println("in public method");
}
}
import java.lang.reflect.Method;
public class PrivateTestCall {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
try{
//method one
Method m=PrivateTest.class.getDeclaredMethod("print", new Class[]{});
m.setAccessible(true);
m.invoke(new PrivateTest(), new Object[]{});
//method two
PrivateTest privateTest=new PrivateTest();
Method m1=privateTest.getClass().getMethod("print2", null);
m1.setAccessible(true);
m1.invoke(privateTest, null);
//method three
Method m2=PrivateTest.class.getMethod("print2", null);
m2.setAccessible(true);
m2.invoke(new PrivateTest(), null);
}catch(Exception e){
e.printStackTrace();
}
}
}
package base;
public class PrivateTest {
private void print(){
System.out.println("in private method");
}
public void print2(){
System.out.println("in public method");
}
}
相关文章推荐
- Java反射高级应用--利用反射调用类的私有方法修改私有方法值,以及替换Java的类成员数据
- 通过JAVA的反射调用类中的公有私有方法
- Java从外部调用类的私有方法
- Java反射高级应用--利用反射调用类的私有方法修改私有方法值,以及替换Java的类成员数据
- Java反射学习总结二(用反射调用对象的私有属性和方法)
- Java反射高级应用--利用反射调用类的私有方法修改私有方法值,以及替换Java的类成员数据
- 关于java的反射,调用私有方法(有参数私有方法),私有属性
- Java从外部调用类的私有方法
- 调用java的私有方法
- 待补充:java类里的私有变量问题,在对象A里有一个对象B,调用对象B的方法获取变量,会有短暂的缓存
- Java记录 -88- 利用反射机制调用对象的私有方法和属性
- java 反射调用 私有构造类中 private static final 属性的方法
- JAVA反射获取私有值和调用私有方法
- java 调用 私有方法
- Java 在外部类中调用其它类的私有方法--反射(Reflection)
- java利用反射来调用一个类的私有方法
- Java通过反射调用其他类的私有属性和私有方法
- java 反射调用Java类的私有set和get方法
- java反射方式调用私有方法
- Java 反射 调用私有域和方法(setAccessible)