有关java通过反射机制调用类中自有方法的问题
2008-11-11 16:48
856 查看
相关文章:
new Draggable("related_topics");
在java中,通过其提供的反射机制,修改对象的accessible标志,以达到访问该对象成员时不检测访问权限的目的。
/*利用反射修改访问安全检测*/
public class B {
public static void main(String[] args)
throws SecurityException, NoSuchFieldException, NoSuchMethodException, InstantiationException, IllegalAccessException, IllegalArgumentException, InvocationTargetException{
Class<A> a = A.class;
Field field = a.getDeclaredField("rubbish");
field.setAccessible(true);
Class[] paramsType = new Class[1];
paramsType[0] = String.class;
Method method = a.getDeclaredMethod("backStr", paramsType);
method.setAccessible(true);
A obj = a.newInstance();
System.out.println("私有" + field.get((obj)));
String aa = "aaaaaaaaa";
Object[] params = new Object[1];
params[0] = aa;
System.out.println("函数:" + method.invoke(obj, params));
}
}
class A {
private String rubbish = "1111";
private String backStr(String aa){
return aa;
}
}
new Draggable("related_topics");
在java中,通过其提供的反射机制,修改对象的accessible标志,以达到访问该对象成员时不检测访问权限的目的。
/*利用反射修改访问安全检测*/
public class B {
public static void main(String[] args)
throws SecurityException, NoSuchFieldException, NoSuchMethodException, InstantiationException, IllegalAccessException, IllegalArgumentException, InvocationTargetException{
Class<A> a = A.class;
Field field = a.getDeclaredField("rubbish");
field.setAccessible(true);
Class[] paramsType = new Class[1];
paramsType[0] = String.class;
Method method = a.getDeclaredMethod("backStr", paramsType);
method.setAccessible(true);
A obj = a.newInstance();
System.out.println("私有" + field.get((obj)));
String aa = "aaaaaaaaa";
Object[] params = new Object[1];
params[0] = aa;
System.out.println("函数:" + method.invoke(obj, params));
}
}
class A {
private String rubbish = "1111";
private String backStr(String aa){
return aa;
}
}
相关文章推荐
- Java中通过反射调用其他类中的main方法时要注意的问题
- Java 通过反射机制动态调用java类方法
- Java中通过反射调用其他类中的main方法时要注意的问题
- Java - 如何通过反射调用对象的方法?
- 【转】java的反射机制中的动态代理代理(二)--在远程方法调用中运用代理类
- 通过Java反射调用方法
- Java方法的动态调用(采用反射机制)
- java中利用反射机制实现调用给定为字符串的方法名
- HAL中通过jni调用java方法的问题
- 通过Java反射调用方法
- 通过Java的反射机制创建运行时类的对象并调用其结构
- java中用反射调用其他类的main方法时应注意的问题
- Java_反射应用_通过Java反射调用方法
- java使用反射机制调用方法
- java 通过反射机制得到类的属性和方法
- java通过反射获取调用变量以及方法
- Android Studio C语言通过反射调用java方法
- 如何使用Java的反射机制以及调用构造方法?
- java通过反射 寻找配置文件 调用方法
- Java通过反射调用方法