java反射判断类、方法、字段的修饰符
Java的反射机制可以让我们获取某个类的所有信息,本文要聊的是如何获取某个类,某个类的属性,某个类的方法的修饰符。或判断某类、属性、方法上是否有某个修饰符。
在Class、Field、Method这三个类上都有一个getModifiers方法,这个方法返回一个int类型的返回值,代表类、属性、方法的修饰符。
修饰符和对应的具体值如下:
- PUBLIC: 1
- PRIVATE: 2
- PROTECTED: 4
- STATIC: 8
- FINAL: 16
- SYNCHRONIZED: 32
- VOLATILE: 64
- TRANSIENT: 128
- NATIVE: 256
- INTERFACE: 512
- ABSTRACT: 1024
- STRICT: 2048
很明显如果类、属性、方法上有组合修饰符的话,那么getModifiers方法返回的值是上述对应修饰符值相加的结果。
比如属性:private static final int a=1;
那么getModifier
s返回的就是26=2+8+16
对应private 、static、final
。
java.lang.reflect.Modifier
这个工具类提供了判断修饰符的很多方法,例如:Modifier.isStatic(int)
判断是否有static
修饰符,Modifier.isFinal()
判断是否有final
修饰符等。
猜你喜欢
blog
js判断字符串是否为整数的方法
前端(h5)
1271
js判断字符串是否为整数的方法原文:https://www.jb51.net/article/144255.htm判断字符串str是否为表达整数代码:if(!/^\d+$/.test(str
blog
java常用反射方法用法总结
java基础
2214
java常用反射方法以及用法总结packagereflect;importjava.lang.annotation.ElementType
weblog
1091
java判断请求的浏览器类型是否是ie浏览器importjavax.servlet.http.HttpServletRequest;/*** 浏览器类型判断*@author硅谷探秘者(jia
weblog
1692
vue事件监听,事件修饰符和按键修饰符!DOCTYPEhtmlhtml head metacharset="UTF-8" title/title scriptsrc="js
blog
asm类型描述符和方法描述符
java虚拟机(jvm)
5177
。一个类的内部名就是这个类的完全限定名,其中的点号用斜线代替。例如,String的内部名为java/lang/String。2.类型描述符内部名只能用于类或接口类型。所有其他Java类型,比如字段类型,
blog
mysql查询中判断字段是不是null
数据库基础
1826
mysql查询中判断字段是不是null在mysql中,查询某字段为空时,切记不可用=null,而是isnull,不为空则是isnotnull例:select*fromtablewherecolumnisnull;select*fromtablewherecolumnisnotnull;
blog
关于父类和子类方法发生重载的问题
其他
8979
下的规则:(1)重写方法必须和被重写方法具有相同的参数列表,返回类型必须和被重写方法的返回类型相同或者是返回类型的子类型。(2)重写方法的访问控制修饰符不能比被重写方法更严格(比如一个在父类中声明为pu
blog
Oracle中将Clob字段转换成字符串
数据库基础
4341
1.利用dbms_lob.substr()方法可将对应字段转换成字符串如下:selectdbms_lob.substr(content)fromNEWS该方法有个缺点,当content字段长度超过某
最近发表
归档
2018年11月
12
2018年12月
33
2019年01月
28
2019年02月
28
2019年03月
32
2019年04月
27
2019年05月
33
2019年06月
6
2019年07月
12
2019年08月
12
2019年09月
21
2019年10月
8
2019年11月
15
2019年12月
25
2020年01月
9
2020年02月
5
2020年03月
16
2020年04月
4
2020年06月
1
2020年07月
7
2020年08月
13
2020年09月
9
2020年10月
5
2020年12月
3
2021年01月
1
2021年02月
5
2021年03月
7
2021年04月
4
2021年05月
4
2021年06月
1
2021年07月
7
2021年08月
2
2021年09月
8
2021年10月
9
2021年11月
16
2021年12月
14
2022年01月
7
2022年05月
1
2022年08月
3
2022年09月
2
2022年10月
2
2022年12月
5
2023年01月
3
2023年02月
1
2023年03月
4
标签
算法基础
linux
前端
c++
数据结构
框架
数据库
计算机基础
储备知识
java基础
ASM
其他
深入理解java虚拟机
nginx
git
消息中间件
搜索
maven
redis
docker
dubbo
vue
导入导出
软件使用
idea插件
协议
无聊的知识
jenkins
springboot
mqtt协议
keepalived
minio
mysql
ensp
网络基础
xxl-job
rabbitmq
haproxy
srs
音视频
webrtc
目录
没有一个冬天不可逾越,没有一个春天不会来临。最慢的步伐不是跬步,而是徘徊,最快的脚步不是冲刺,而是坚持。