什么是反射机制
JAVA反射机制是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法;对于任意一个对象,都能够调用它的任意方法和属性;这种动态获取信息以及动态调用对象方法的功能称为java语言的反射机制。
反射的用法
反射获取字节码对象的方法有3种:
- 第一种:
使用object的getClass()方法
Person person = new Person();
Class<Person> clazz = person.getClass();
这种方法必须要明确具体的类(Person),然后创建Person的对象。
- 第二种:
任何的数据类型都具有一个静态的.class属性来获取其对应的Class对象。
Class<Person> clazz = Person.class;
这种方法就不需要创建Person对象,相对第一种简单很多。
- 第三种:
只要通过给定的类的字符串名称就可以得到该类,其扩展性更高。用Class类中的forName()方法完成。
Class clazz = Class.forName("com.text.reflect.Person");
里面传入完整的包名