java 修饰符
Java语言提供了很多修饰符,主要分为以下两类:
- 访问修饰符
- 非访问修饰符
判断修饰符是否存在
通过反射拿到对象的变量、方法等,有时候想知道某个变量是否被某个修饰符修饰。通过另外一个类:Modifier,我们就能判断修饰符是否存在。
实体类:
@Setter
@Getter
public class Response<T> {
private static final String OK = "200";
private static final String ERROR = "600";
private static final String NO_AUTH = "607";
@ApiModelProperty(value = "响应码", example = "200")
private String code;
@ApiModelProperty(value = "响应消息", example = "成功")
private String msg;
@ApiModelProperty(value = "响应体")
private T data;
}
测试:
Class<?> clazz = Class.forName(Response.class.getName());
Field ok = clazz.getDeclaredField("OK");
int okModifiers = ok.getModifiers();
System.out.println("okModifiers是否是静态变量:" + Modifier.isStatic(okModifiers));
Field code = clazz.getDeclaredField("code");
int codeModifiers = code.getModifiers();
System.out.println("codeModifiers是否是私有变量:"+ Modifier.isPrivate(codeModifiers) +
", codeModifiers是否是静态变量:" + Modifier.isStatic(codeModifiers));
执行结果:
okModifiers是否是静态变量:true
codeModifiers是否是私有变量:true, codeModifiers是否是静态变量:false