反射修饰符 Modifier

本文介绍了Java反射中的Modifier类,它提供了解析类和成员访问修饰符的方法。详细讲解了如何通过Modifier的静态方法获取并解析整数形式的修饰符,包括isPublic、isPrivate等,并通过示例展示了如何判断成员变量的修饰符,以及如何找到具有特定组合修饰符的变量。
摘要由CSDN通过智能技术生成

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");
	        //以整数
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值