Java-Modifier类常用方法详解
一、Modifier类的定义
Modifier类 (修饰符工具类) 位于 java.lang.reflect 包中,用于判断和获取某个类、变量或方法的修饰符
Modifier类将各个修饰符表示为相对应的整数,在源码中用16进制进行表示
静态常量
public:Modifier.PUBLIC (0x00000001) (1)
private:Modifier.PRIVATE (0x00000002) (2)
protected:Modifier.PROTECTED (0x00000004) (4)
static:Modifier.STATIC (0x00000008) (8)
final:Modifier.FINAL (0x00000010) (16)
synchronized:Modifier.SYNCHRONIZED(0x00000020) (32)
volatile:Modifier.VOLATILE(0x00000040) (64)
transient:Modifier.TRANSIENT(0x00000080) (128)
native:Modifier.NATIVE(0x00000100) (256)
interface:Modifier.INTERFACE(0x00000200) (512)
abstract:Modifier.ABSTRACT(0x00000400) (1024)
strict:Modifier.STRICT(0x00000800) (2048)
二、Modifier类的常用方法
1、Modifier.toString(int mod)
返回一个字符串,该字符串表示该整数参数所代表的修饰符
通过 & 运算,来确定所代表的修饰符
例如:7的二进制表示为111
& 上 Modifier.PUBLIC 的值 (0x00000001) 不为0,则说明有public修饰符
& 上 Modifier.PRIVATE 的值 (0x00000002) 不为0,则说明有private修饰符
& 上 Modifier.PROTECTED 的值 (0x00000004) 不为0,则说明有protected修饰符
System.out.println(Modifier.toString(1)); // public
System.out.println(Modifier.toString(3)); // public private
System.out.println(Modifier.toString(7)); // public private protected
1
2
3
源码如下
2、Modifier.constructorModifiers()
返回可用于修饰构造方法的修饰符所代表的整数
构造方法修饰符:public、protected、private
System.out.println(Modifier.constructorModifiers()); // 7
// public protected private
System.out.println(Modifier.toString(Modifier.constructorModifiers()));
1
2
3
3、Modifier.classModifiers()
返回可用于修饰类的修饰符所代表的整数
类修饰符:public、protected、private、abstract、static、final、strictfp
System.out.println(Modifier.classModifiers()); // 3103
// public protected private abstract static final strictfp
System.out.println(Modifier.toString(Modifier.classModifiers()));
1
2
3
---------------------
作者:Gene Xu
来源:CSDN
原文:https://blog.csdn.net/goodbye_youth/article/details/83040766
版权声明:本文为博主原创文章,转载请附上博文链接!
Java-Modifier类常用方法详解的更多相关文章
- Java-Method类常用方法详解
一.Method类的定义Method类位于 java.lang.reflect 包中,主要用于在程序运行状态中,动态地获取方法信息二.Method类的常用方法 1.getAnnotatedRetur ...
- JAVA中StringBuffer类常用方法详解
String是不变类,用String修改字符串会新建一个String对象,如果频繁的修改,将会产生很多的String对象,开销很大.因此java提供了一个StringBuffer类,这个类在修改字符串 ...
- Java 嵌套类基础详解
目录 1. 什么是嵌套类? 2. 为什么要使用嵌套类? 3. 嵌套类的类型 4. 静态嵌套类 5. 非静态嵌套类 5.1 成员内部类 5.2 局部内部类 5.3 匿名内部类 6. 嵌套接口 1. 什么 ...
- java Object类源代码详解 及native (转自 http://blog.csdn.net/sjw890821sjw/article/details/8058843)
package java.lang; public class Object { /* 一个本地方法,具体是用C(C++)在DLL中实现的,然后通过JNI调用.*/ private static na ...
- Java常用类StringBuffer详解
内容多为最近学习的自我总结,可能有些地方写的不严谨,甚至会有错误的地方,仅供参考,如发现错误敬请指出,谢谢! 灰色字体为补充扩展内容,多为帮助自己理解. StringBuffer概述: 线程安全的可变 ...
- Java常用类object详解
1.Object概述: 类Object是类层次结构的根类.每个类都使用Object作为超类.所有对象(包括数组)都实现这个类的方法. 2.构造方法详细信息: Object只有一个无参构造方法,因为ob ...
- StringUtils工具类常用方法详解
StringUtils 常用方法 1.isEmpty(String str) 是否为空,空格字符为false2.isNotEmpty(String str) 是否为非空,空格字符为true3.isBl ...
- Java的类的详解
首先呢,我承认上一次我理解的有误. 1.构造方法的作用:是初始化一个对象,而不是成员变量,它和get和set方法都有给成员变量赋值的功能. 2.下来说一下JVM调用main方法的过程: a.静态变量赋 ...
- 11-02 Java Object类使用详解
Object 作为超类 Object是类层次结构的根类,所有的类都直接或者间接的继承自Object类. Object类的构造方法有一个,并且是无参构造,这其实就是理解当时我们说过,子类构造方法默认访 ...
随机推荐
- javascript的立即执行函数
在javascript中有引入立即执行函数的概念,那么什么是立即执行函数呢?立即执行函数又是怎么写的呢?立即执行函数与普通函数有什么区别呢? 先来看看一般的函数: function a(){ var ...
- 1083 是否存在相等的差 PAT (Basic Level)
题目链接: https://pintia.cn/problem-sets/994805260223102976/problems/994805260780945408 分析: 将某个差值的次数存在数组 ...
- Codility MinMaxDivision
最近发现了一个刷题网站:https://app.codility.com/programmers/lessons 这个网站做题目时候的界面让我惊艳到了 首先这是题目界面: 然后点击start, 出来的 ...
- [更新] Jetbrains IntelliJ IDEA 2019 的许可证密钥
亲测有效.转载目的:提供一种方法,当然可以看一下原网站的更新及其他方法.转载:[更新] Jetbrains IntelliJ IDEA 2019 的许可证密钥(100%工作),By Gideon ...
- 【转】2019年7月份,阿里最新Java高频面试真题汇总
技术一面(23问)技术二面(3大块)JAVA开发技术面试中可能问到的问题(17问)JAVA方向技术考察点(33快)项目实战(7大块)必会知识(48点)面试小技巧注意事项1. 阿里技术一面 Java I ...
- mvc_第一遍_业务逻辑层和模型
常用的动态网页对象: 之前我们提到了,使用request对象可以获得和用户请求相关的一系列信息.这一节,我们来看看另外两个常用对象的常规用途. response对象:用于向客户回应.最常用的用法类似于 ...
- Linux下快速安装Python3和pip
如果本机安装了python2,尽量不要管他,使用python3运行python脚本就好,因为可能有程序依赖目前的python2环境, 比如yum!!!!! 不要动现有的python2环境! 一.安装p ...
- Mysql之视图和事务(五)
一:视图 1.问题 对于复杂的查询,往往是有多个数据表进行关联查询而得到,如果数据库因为需求等原因发生了改变,为了保证查询出来的数据与之前相同,则需要在多个地方进行修改,维护起来非常麻烦 解决办法:定 ...
- vue使用vue-cli创建项目
安装运行环境(node和npm) 安装vue-cli(查看是否安装成功vue -V) 安装webpack 新建项目 1.vue init webpack 项目名称 2.配置项目有关的信息(项目名称,开 ...
- js对数组array的常见操作小结
1.创建数组?两种方式 var arr = new Array("1","2","4"); var arr1 = ["1" ...