前言
java的名词太古怪。反射白话文解释,就是把一个字符串的类名,实例化,少了个new单词。
反射步骤
准备一个苹果类像这个样子。
public class PingGuo { private String size; public String getSize() { return size; } public void setSize(String size) { this.size = size; } }
1.实例化
1.获取字符串类名
2.实例化
Class class1 = Class.forName("zhuru.PingGuo"); Object object = class1.newInstance(); //object为"zhuru.PingGuo"的实例,此时object还没有PingGuo类的属性,需要强转化为PingGuo类型数据
2.获取class1的所有属性
Field [] fields = class1.getDeclaredFields(); //返回Field类型数组 fields[0].setAccessible(true); //打开属性set属性开关 fields[0].set(object, "111ffffffffff"); //对这个属性随便设置一个值
3.强转object对象
PingGuo p = (PingGuo) object //这样,就可以操作PingGuo实例化的方法了
总结:
需要点java基础,才看的懂。
参考地址:http://blog.csdn.net/liujiahan629629/article/details/18013523
讲的很详细。