TL; DR:它将它们组合在一起形成

bit field.

要理解这一点,你需要了解二进制如何工作,这类似于十进制 – 让我们从那里开始:

1 - public

10 - static

100 - final

那么,101意味着什么?它必须是公共最终的,因为除了单个100和单个1之外,十进制系统中没有其他方法可以制作“一百零一”.

现在将其扩展为二进制:

1 - public

2 - private

4 - protected

8 - static

那9是什么意思?好吧,与十进制系统一样,只有一种(正确的)方法可以使二进制9 – 一个8和一个1.

现在我们使用我们称之为位域的内容,二进制中的9是:

1001

要验证,写一些代码!

public static void main(String[] args) throws Exception {

int i = 9;

System.out.println(Integer.toBinaryString(i));

}

现在,使用十进制系统,我们将重复除以10并检查最右边的数字(最不重要).对于二进制,这个过程是相同的,除了我们除以2 – 这被称为位移.

public static void main(String[] args) throws Exception {

int i = 9;

System.out.println(Integer.toBinaryString(i));

i >>= 1;

System.out.println(Integer.toBinaryString(i));

i >>= 1;

System.out.println(Integer.toBinaryString(i));

i >>= 1;

System.out.println(Integer.toBinaryString(i));

}

输出:

1001

100

10

1

所以,如果我知道private是21的值,并且我们知道我们有多少位,那么只需要移位正确的位数并将模数取为2:

public static void main(String[] args) throws Exception {

int i = 9;

i >>= 2;

System.out.println(i%2);

}

输出:

0

所以我们基本上使用构成二进制数的1和0值来编号来存储布尔值.

所以把这个例子带入阅读世界:

public static void main(String[] args) throws Exception {

final Method method = App.class.getMethod("myMethod");

final int modifiers = method.getModifiers();

System.out.println(modifiers);

System.out.println(Integer.toBinaryString(modifiers));

}

public strictfp synchronized static final void myMethod() {

}

输出:

2105

100000111001

所以我们可以看到我们有:

20 = 1 – 是的21 = 2 – 假22 = 4 – 假23 = 8 – 是的24 = 16 – 是的25 = 32 – 真27 = 64 – 假28 = 128 – 错误29 = 256 – 错误210 = 512 – 假211 = 1024 – 假212 = 2048 – 是的

getmodifiers java_java – getModifiers()方法如何计算多个修饰符的值?相关推荐

  1. getmodifiers java_getModifiers()方法如何计算多个修饰符的值?

    TL; DR:它将它们加在一起形成一个位字段 . 要理解这一点,你需要了解二进制如何工作,这类似于十进制 - 让我们从那里开始: 1 - public 10 - static 100 - final ...

  2. 方法重载与访问修饰符

    方法重载: 在一个类中,方法名相同,参数不同(参数个数不同,类型不同,次序不同),构成方法重载方法重载与访问修饰符,返回值类型,方法参数名没有关系 public class Calc { public ...

  3. [转载] java接口中方法的默认访问修饰符为public

    参考链接: Java接口方法 如果一个接口Cup有个方法use(),有个类SmallCup实现接口Cup,则在类SmallCup中正确的是?  ( ) A.void use() { -} B.prot ...

  4. java域的控制修饰符可分为_Java中的类和方法的修饰符

    java 中的类和方法的修饰符Java程序在定义类时,除了使用class关键字标识之外,还可以在class之前增加若干类的修饰符来修饰限定所定义的类的特性.类的修饰符分为访问控制符和非访问控制符两大类 ...

  5. charat越界返回什么_Java基本语法方法修饰符返回类型参数列表异常列表

    方法[method name] 定义 方法[method]是类的成员之一,(因为在java中,方法不能单独定义,它必须在类之中). 修饰符 返回类型 方法名()[throws 异常类型]{ //方法体 ...

  6. 语法基础(三. 类,属性,方法,方法重载,方法重写,构造方法,访问修饰符)

    语法基础(三. 类,属性,方法,方法重载,方法重写,构造方法,访问修饰符) (如有错误,欢迎指正,感谢!) 类 类是面向对象的程序设计中的概念,实现信息的封装 概念: 类就是拥有相等行为和相同的属性的 ...

  7. day03--java基础编程:面向对象,构造方法,代码块讲解,this super,static,final,访问修饰符,方法重写,向上/下造型,main方法,抽象类,接口,设计模式,异常,内部类

    1 Day06–面向对象1 1.1 面向对象 1.1.1 概念 推荐看的书:Thinking in java 概念:所谓的面向对象是一种编程思想,通过这种思想可以把生活中的复杂事情变得简单化,从原来的 ...

  8. Java 实验报告 了解如何使用类及其成员的修饰符,理解类的继承性,掌握方法的继承、重载和覆盖

    班级软件16-2班 学号 3162052051734姓名梁振宇同组实验者 实验名称Java语言基础练习日期 2018年 05 月31 日 一.实验目的: 了解如何使用类及其成员的修饰符,理解类的继承性 ...

  9. day03--java基础编程:面向对象,构造方法,代码块讲解,this super,static,final,访问修饰符,方法重写,向上_下造型,main方法,抽象类,接口,设计模式,异常,内部类

    1 Day06–面向对象1 1.1 面向对象 1.1.1 概念 推荐看的书:Thinking in java 概念:所谓的面向对象是一种编程思想,通过这种思想可以把生活中的复杂事情变得简单化,从原来的 ...

最新文章

  1. Nginx+Keepalived实现Web服务器负载均衡
  2. 如何在UIAlertView中显示进度条
  3. 六行代码安装 GPU版本的TensorFlow
  4. VS 2010 使用项目 无法链接 DLL文件的问题
  5. Mysql学习总结(6)——MySql之ALTER命令用法详细解读
  6. Docker配置Dockerfile中关键ENTRYPOINT和CMD命令详解
  7. 不知道哪个学校教务处管理系统的图
  8. Android 自动化测试 常用的命令----随时更新
  9. 转:运行yum报错Error: Cannot retrieve metalink for reposit
  10. P2P网络及节点发现机制
  11. python爬虫实例项目大全-GitHub 上有哪些优秀的 Python 爬虫项目?
  12. jcp jsr_JCP成为“可怕的单一文化”
  13. ParallaxOcclusionMapping( POM ) DX9
  14. 【磁盘调度算法】磁盘调度模拟的设计与分析
  15. 安装torch_points3d时提示 No such file or directory: nvcc
  16. 佛山市银河兰晶科技股份有限公司隐私政策
  17. HMaster是什么?
  18. 关于ESP8266使用ArduinoIDE编程,调用airkiss_lan_recv和airkiss_lan_pack出错的解决方法
  19. c语言之函数或者变量的weak属性 C语言之强化,弱化符号weak
  20. 解决Steam火炬之光2起动器在DeepinV20中显示空白透明的问题

热门文章

  1. electron安装比较慢的方法
  2. iTerm2 快捷键大全
  3. 计算机网络常见面试真题详解
  4. 前后端分离项目如何部署_前后端分离项目,如何解决跨域问题?
  5. MySQL数据库重点概要总结
  6. Go 1.18.1 Beta 尝鲜 泛型 FuzzTest workspace mode
  7. mysql的rows大小超过8126_mysql大字段(Row size too large8126)
  8. 网络:TCP维护安全可靠机制提供的定时器
  9. e480 黑苹果_Thinkpad E480黑苹果组建Fusion Drive——鱼和熊掌我都要
  10. 重庆邮电大学计算机科学与技术培养方案,重庆邮电大学计算机科学与技术学院.doc...