Java记录 -88- 利用反射机制调用对象的私有方法和属性
16lz
2021-01-22
利用反射机制调用对象的私有方法和属性
importjava.lang.reflect.Field;importjava.lang.reflect.Method;publicclassTestPrivate{publicstaticvoidmain(String[]args)throwsException{//使用反射机制调用对象的私有方法Privatep=newPrivate();Class<?>classType=p.getClass();Methodmethod=classType.getDeclaredMethod("sayHello",newClass[]{String.class});method.setAccessible(true);//压制java的访问控制检查Stringstr=(String)method.invoke(p,newObject[]{"tom"});System.out.println(str);//使用反射机制调用对象的私有属性Fieldfield=classType.getDeclaredField("name");field.setAccessible(true);field.set(p,"lisi");Stringname=(String)field.get(p);System.out.println(name);}}classPrivate{privateStringname="zhangsan";privateStringsayHello(Stringname){return"hello"+name;}}
更多相关文章
- WebService之基于REST机制的实现实例(Java版)
- 为何使用java反射机制
- Java反射---getGenericSuperclass和ParameterizedType参数化类型
- Java异常处理机制 —— 深入理解与开发应用
- Java调用gc机制强制删除文件
- JAVA中的反射只获取属性的get方法
- Java反射相关(一)
- JAVA gc垃圾回收机制
- java如何通过反射 激活静态类的静态方法