反射机制,知识点概括

一、反射机制是指在运行状态中,对于任何一个类,都能够知道这个类的属性和方法;对于任何一个对象,都能调用他的属性的方法。

二、反射提供的功能:

  在运行时判断任意一个对象所属的类

在运行时构造任意一个类的对象

在运行时判断任意一个类所具有的成员变量和方法

在运行时调用任意一个对象的方法

生成动态代理

 

三、通过反射获取类的三种方法:

  1. 通过Class.forName();    Class<?> forName = Class.forName("reflectt.Person"); 需要抛个ClassNotFoundException 异常
  2. 通过   类名.Class Class<?> forName = Person.Class
  3. 通过对象.getClass( ),此方法需要NEW一对象出来

  Person person = new Person();Class<?> forName =person.getClass( )

四、反射获取方法:
1.对象.getMethods() 此方法可以获取所有的公共的方法(本类,父类(包括object中的方法),以及接口中的所有方法,同时符合访问修饰符规律(private访问不到))
Class<?> forName = Class.forName("reflectt.Person"); forName .getMethods ( );

2.对象.getDeclareMethods() 来获取当前类所有方法

3.反射来带对类实例化

 Object instance = forname.newInstance();Person person=(person)instance ;

person.getMethods();

补充:

  1. 通过getInterface()方法获得所有接口 ,返回一个数组(多实现)
  2. 通过getSuperclass()来获取所有父类,返回单个值(单继承)
  3. 通过getConstructors(),来获取所有构造方法,返回数组
  4. 通过getFields()来获取所有公共属性,通过getDeclareFields()来获取当前类的所有属性,返回数组

猜你喜欢

转载自blog.csdn.net/qq_42183409/article/details/88924176