什么是反射?
.java ->.class 编译 由jre完成 jre属于jdk jdk里面包含jre
.class ->.java 反编译(反射 reflect)
.class文件给你 你编译成为一个javabean
反射的作用?
增加程序的灵活性,避免将程序写死到代码里
反射的形式 来实例化
1.类名.class
2.对象.getclass()
3.class.forName("全限定名") //常用
4.类.getclassLoader().loadClass("全限定名")
5.子类.class.getSuperClass()
6.包装类.class
//1得到你的类的对象
Class c=Class.forName("com.zking.entity.Person");
//输出类名
System.out.println(c.getName());
System.out.println(c.getPackage());
//属性
Field f=c.getField("name");
//得到名称
System.out.println(f.getName());
// 得到访问修饰符
System.out.println(f.getModifiers());
//得到属性的数据类型
System.out.println(f.getType());
//得到一个person(类名)对象 newInstance 产生一个新的实例 实例化对象
Object person=c.newInstance();
//赋值
f.set(person,"a");
//取值
System.out.println(f.get(person));