Lesson: Members

反射定义了一个interfacejava.lang.reflect.Member,该interface由java.lang.reflect.Fieldjava.lang.reflect.Methodjava.lang.reflect.Constructor实现。这些对象将在本课中讨论。对于每个成员,类将描述相关的 API,以检索声明和类型信息,该成员唯一的任何操作(例如,设置字段的值或调用方法)以及常见的错误。每个概念将通过代码 samples 和相关输出进行说明,这些代码 samples 和相关输出近似一些预期的反射用途。

Note:

根据Java 语言规范,Java SE 7 版,类的* members 是类主体的继承组件,包括字段,方法,嵌套类,interface和枚举类型。由于构造函数未继承,因此它们不是成员。这与java.lang.reflect.Member的实现类不同。

Fields

字段具有类型和值。 java.lang.reflect.Field类提供了用于访问类型信息以及在给定对象上设置和获取字段值的方法。

Methods

方法具有返回值,参数,并且可能引发异常。 java.lang.reflect.Method类提供用于获取参数类型信息和返回值的方法。它也可以用于调用给定对象上的方法。

Constructors

构造函数的反射 API 在java.lang.reflect.Constructor中定义,与方法的相似,但有两个主要 exception:首先,构造函数没有返回值;第二,构造函数没有返回值。其次,构造函数的调用会为给定类创建对象的新实例。