调用java的私有方法 [技巧]
?
发布时间: 2012-06-30 17:20:12 作者: rapoo
调用java的私有方法 [技巧]
?
?
public?class?PrivateTest?{
?private?void?print(){
??System.out.println("in?private?method");
?}
?public?void?print2(){
??System.out.println("in?public?method");
?}
}![调用java的私有步骤 [技巧]](http://img.reader8.net/uploadfile/jiaocheng/20140188/2813/201401282113511246.gif)
![调用java的私有步骤 [技巧]](http://img.reader8.net/uploadfile/jiaocheng/20140188/2813/201401282113511246.gif)
?
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();
??}
?}?
?
}![调用java的私有步骤 [技巧]](http://img.reader8.net/uploadfile/jiaocheng/20140188/2813/201401282113511246.gif)
![调用java的私有步骤 [技巧]](http://img.reader8.net/uploadfile/jiaocheng/20140188/2813/201401282113511246.gif)
in?private?method
in?public?method
in?public?method