- 假设类A'是类A的镜像,我们通过A' 就可以看到类A的功能:①继承了谁②实现了什么接口③构造函数④方法 等内容。
- 反射就是让程序看自己的
- reflect:反射
- “像”的类型为 java.long.Class
获取像的三种方式
①通过静态属性class
Class<Book> clazz1=Book.class;
②class类的一个静态方法forName传入类的权限定名(包名+类名)字符串,不需要导入
Class clazz1=Class.forName("cn.edu.xcu.reflect.entity.Book");
③调用对象的getClass方法
Book book=new Book(); Class<Book> clazz1=(Class<Book>)book.getClass();
属性文件(Properties File)
- name=value ,例如
entity=cn.edu.xcu.reflect.entity.Book
- 创建名为 reflect.properties 的属性文件,和名为 test01 的测试类放在同一个包当中 ,解决方法如下:
Properties pro=new properties(); pro.load(test01.class.getResourceAsStream("reflect.properties")); Class clazz1=Class.forName("entity");