映射与反射
反射:对象或者对象的属性获得class类
映射:class(类)到对象
package com.xing.main;
import java.lang.reflect.Field;
import com.xing.entity2.Student;
public class Test222 {
public static void main(String[] args) {
// 例如如下代码通过new来获得对象,也就是把类转换成对象为映射
// 通过对像来获得class里面的属性也为映射
// 总结 就是通过人民正常的思维转换的都为映射 逆过来的都为反射
Student stu = new Student();
stu.setId(111);
stu.setName("qin");
stu.setSex("男");
// 反射为如下代码 通过stu对象把对象转换成类。
// 或者通过类的属性找到类
Class clz = stu.getClass();
String name = clz.getName();
Field[] fs = clz.getDeclaredFields(); // 获取stu的所有列
try {
Field ff = clz.getDeclaredField("id"); // 通过输入class里面有的属性找的对应的属性,仅限于class有的字段
System.out.println("输出对应的" + ff.getName());
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
System.out.println("获得类的地址:" + clz);
System.out.println("把类的地址转化成String类型" + name);
// 通过类也可以获得所有class的属性 其实如果通过对象获得就是映射
for (Field fi : fs) {
System.out.println(fi.getName());
}
}
}