Modifier 修饰符工具类
public class java.lang.reflect.Modifier extends Object
int java.lang.reflect.Field.getModifiers()
以整数形式返回此 Method 对象所表示方法的 Java 语言修饰符
boolean java.lang.reflect.Modifier.isPublic(int mod)
如果整数参数包括 public 修饰符,则返回 true,否则返回 false。其他方法类似
方法的修饰符获取与属性类似
JDK中的介绍:
Modifier 类提供了 static 方法和常量,对类和成员访问修饰符进行解码。修饰符集被表示为整数,用不同的位位置 (bit position) 表示不同的修饰符。表示修饰符的常量值取自于 The JavaTM Virtual Machine Specification, Second edition 的表 4.1、4.4、4.5 和 4.7。
解码方法
以上所有的修饰符都有对应的、方法声明为【public static boolean is***(int mod)】的解码方法,且方法的实现也都是类似的,比如:
public static boolean isPublic(int mod) {
return (mod & PUBLIC) != 0;
}
java中反射获取方法的修饰符
代码演示:
package com.caoguangli.reflect;
import java.lang.reflect.Field;
import java.lang.reflect.Modifier;
public class LFrog {
public String name0;
public static String name1;
public static final String name2 = "name";
public static void main(String[] args) throws NoSuchFieldException, SecurityException {
LFrog frog = new LFrog();
Class<? extends LFrog> frogClass = frog.getClass();
Field name0 = frogClass.getField("name0");
Field name1 = frogClass.getField("name1");
Field name2 = frogClass.getField("name2");
//以整数