Java反射 1
2015-09-09 12:07
447 查看
public class TestMain { public static void main(String[] args) throws ClassNotFoundException, IllegalArgumentException, IllegalAccessException, SecurityException, NoSuchFieldException { AccessTest test = new AccessTest(); test.setAge(22); test.setName("Kity"); AccessTest test1 = new AccessTest(); test1.setAge(26); test1.setName("Dong"); Class<?> cls = Class.forName(AccessTest.class.getName()); for (Field field : cls.getDeclaredFields()) { field.setAccessible(true); // 此处要声明,不然取不到会抛出异常 System.out.println(field.get(test)); } Field field = cls.getDeclaredField("name"); field.setAccessible(true); // 此处要声明,不然取不到会抛出异常</span> System.out.println(field.get(test1)); field.set(test1, "John"); System.out.println(field.get(test1)); } } class AccessTest { private int age; private String name; /** * @return the age */ public int getAge() { return age; } /** * @param age the age to set */ public void setAge(int age) { this.age = age; } /** * @return the name */ public String getName() { return name; } /** * @param name the name to set */ public void setName(String name) { this.name = name; } }
输出: 22 Kity Dong John
相关文章推荐
- java之 ------ JUnit、注解、类加载器
- Java中public,private,protected,和默认的区别
- java应用程序利用Exe4j打包exe文件
- struts2的json-default和struts-default的区别
- Eclipse 项目以非gradle方式导入Android Studio
- Eclipse 项目以非gradle方式导入Android Studio
- Eclipse 项目以非gradle方式导入Android Studio
- 清除Eclipse/MyEclipse下的svn账号密码
- 详解java中的HashMap
- java垃圾回收机制和内存泄露
- 想要成为java大牛必须知道的25点
- java.lang.OutOfMemoryError: PermGen space 解决方案
- 个人总结-java设计模式-装饰者模式
- java.lang.OutOfMemoryError: PermGen space 解决方案
- java中quartz定时任务的执行如何避免并发
- Java多线程:用三个线程控制循环输出10次ABC
- 使用 Spring HATEOAS 开发 REST 服务
- java环境变量配置
- struts2采用convention-plugin实现零配置
- java23种经典设计模式UML类图汇总