java反射判断类、方法、字段的修饰符

硅谷探秘者 算法基础 130 0 0

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;那么getModifiers返回的就是26=2+8+16对应private 、static、final

java.lang.reflect.Modifier这个工具类提供了判断修饰符的很多方法,例如:Modifier.isStatic(int)判断是否有static修饰符,Modifier.isFinal()判断是否有final修饰符等。

猜你喜欢
前端(h5) 682 js串是否为整数原文:https://www.jb51.net/article/144255.htm串str是否为表达整数代码:if(!/^\d+$/.test(str
java基础 1737 java常用以及用总结packagereflect;importjava.lang.annotation.ElementType
weblog 350 java请求浏览器型是否是ie浏览器importjavax.servlet.http.HttpServletRequest;/*** 浏览器*@author硅谷探秘者(jia
java虚拟机(jvm) 4276 。一个内部名就是这个完全限定名,其中点号用斜线代替。例如,String内部名为java/lang/String。2.型描述内部名只能用于或接口型。所有其他Java型,比如型,
weblog 1282 vue事件监听,事件和按键!DOCTYPEhtmlhtml head metacharset="UTF-8" title/title scriptsrc="js
数据库基础 1351 mysql查询中是不是null在mysql中,查询某为空时,切记不可用=null,而是isnull,不为空则是isnotnull例:select*fromtablewherecolumnisnull;select*fromtablewherecolumnisnotnull;
数据库基础 2916 1.利用dbms_lob.substr()可将对应转换成串如下:selectdbms_lob.substr(content)fromNEWS该有个缺点,当content长度超过某
official 164 leetcode第344题(简单)原链接:https://leetcode-cn.com/problems/reverse-string/题目描述编写一个函数,其作用是将输入转过来。输入
归档
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
标签
算法基础 linux 前端 c++ 数据结构 框架 数据库 计算机基础 储备知识 java基础 ASM 其他 深入理解java虚拟机 nginx git 消息中间件 搜索 maven redis docker dubbo
目录