TYS的博客

算法小白努力学习中

0%

JAVA反射

JAVA 反射

反射是为了解决运行期,对某个对象一无所知的情况下,调用其方法,JVM为每一个加载的class创建一个Class类型的实例,并关联起来。

通过Class实例获取class信息的方法称为反射(Reflection)

1. 访问字段

  • Java的反射API提供的Field类封装了字段的所有信息:

  • 通过Class实例的方法可以获取Field实例:getField()getFields()getDeclaredField()getDeclaredFields()

  • 通过Field实例可以获取字段信息:getName()getType()getModifiers()

  • 通过Field实例可以读取或设置某个对象的字段,如果存在访问限制,要首先调用setAccessible(true)来访问非public字段。

  • 通过反射读写字段是一种非常规方法,它会破坏对象的封装。****

2.调用方法

3.调用构造方法、获取继承关系

4.动态代理