反射
-
反射是Java自我管理(类, 对象)的机制
-
- 可以通过反射机制发现对象的类型 发现类型的方法/属性/构造器
-
- Java 反射 可以创建对象并访问任意对象方法和属性等
-
创建对象的时候:
a Person p = new Person();
b 利用反射来创建对象(3种,前两种必须知道)
<<Demo8.java>> -
Class 加载
类加载到内存: java 将磁盘类文件加载到内存中,为一个
对象(实例)这个对象是Class的实例,也就是 这些对象都是
Class实例 -
带参数构造方法如何创建对象?
<<Demo9.java>>
- 通过反射来访问方法
a 获得class对象
b 获得Methed(方法)对象
c 选择是否压制访问控制
d 通过反射调用对象的底层方法
案例: ref2.Demo1
<<Demo1.java>> - 通过反射来访问属性
a 获得class对象
b 获得Field(属性)对象
c 选择是否压制访问控制
d 通过反射来访问对象的属性
案例: ref2.Demo2
<<Demo2.java>> - 可以通过反射机制发现类型的方法/属性/构造器
案例: ref2.Demo3
<<Demo3.java>>
PropertyDescriptor: 反射中专门用来操作javaBean
// 的属性(一个)
// 构造方法:PropertryDescriptor(属性的名字,java.Class);
User user2 = new User();
Class<?> type2 = User.class;
PropertyDescriptor descriptor =
new PropertyDescriptor("uname",type2);
Method setMethod = descriptor.getWriteMethod();
setMethod.invoke(user2, "no123");
// System.out.println(user2.getUname());
Method getMethod = descriptor.getReadMethod();
System.out.println(getMethod.invoke(user, null));

浙公网安备 33010602011771号