2.5.1 Member 接口

Member 接口

MethodField 都实现了 java.lang.reflect.Member 接口,该接口方法如下表所示:

方法签名 说明
Class getDeclaringClass() 返回该成员的类的 Class 对象
String getName() 返回该成员名字
int getModifiers() 返回该成员的限定符,编码为 int

注意

  • Class 也支持上面 3 个方法,但 Class 并没有实现 Member 接口。
  • 概念上讲,MethodField 都是类的 成员Member)。

Java 共有 11 个限定符:

  • public protected private
  • static final abstract
  • native
  • volatile synchronized
  • transient strictfp

Modifier

每个限定符在 getModifiers 方法返回的 int 中占据一个 bit 位,人肉解析该值很麻烦,所以 Java 引入 Modifier 类来解析其返回值。

Modifier 类包含的方法列表如下:

方法签名 说明
static boolean isPublic(int mod) 判断成员的限定符是否 包含 public
static boolean isPrivate(int mod) 判断成员的限定符是否 包含 private
static boolean isProtected(int mod) 判断成员的限定符是否 包含 protected
static boolean isStatic(int mod) 判断成员的限定符是否 包含 static
static boolean isFinal(int mod) 判断成员的限定符是否 包含 final
static boolean isSynchronized(int mod) 判断成员的限定符是否 包含 synchronized
static boolean isVolatile(int mod) 判断成员的限定符是否 包含 volatile
static boolean isNative(int mod) 判断成员的限定符是否 包含 native
static boolean isInterface(int mod) 判断 mod 是否是 接口 的限定符,而非类的
static boolean isTransient(int mod) 判断成员的限定符是否 包含 transient
static boolean isAbstract(int mod) 判断成员的限定符是否 包含 abstract
static boolean isStrict(int mod) 判断成员的限定符是否 包含 strictfp

results matching ""

    No results matching ""