欢迎访问 生活随笔!

生活随笔

当前位置: 首页 > 编程资源 > 编程问答 >内容正文

编程问答

(十四)访问标志 Access_flags

发布时间:2025/4/16 编程问答 2 豆豆
生活随笔 收集整理的这篇文章主要介绍了 (十四)访问标志 Access_flags 小编觉得挺不错的,现在分享给大家,帮大家做个参考.

一、概念  

上一章节讲到了常量池,如下图,常量池之后便是访问标志acess_flags,占2个字节(u2)。

 

 

二、例子

  编写一个接口。

public interface Test{public final String userName="ADMIN"; }

编译之后,用javap命令行打开,可看到访问标志Access_flags。

C:\Users\Administrator\Desktop>javap -verbose Test.class Classfile /C:/Users/Administrator/Desktop/Test.classLast modified 2018-5-13; size 164 bytesMD5 checksum 0948ee61f2cbaaf5477f8c3bea7b62ceCompiled from "Test.java" public interface Testminor version: 0major version: 52flags: ACC_PUBLIC, ACC_INTERFACE, ACC_ABSTRACT Constant pool:#1 = Class #9 // Test#2 = Class #10 // java/lang/Object#3 = Utf8 userName#4 = Utf8 Ljava/lang/String;#5 = Utf8 ConstantValue#6 = String #11 // ADMIN#7 = Utf8 SourceFile#8 = Utf8 Test.java#9 = Utf8 Test#10 = Utf8 java/lang/Object#11 = Utf8 ADMIN {public static final java.lang.String userName;descriptor: Ljava/lang/String;flags: ACC_PUBLIC, ACC_STATIC, ACC_FINALConstantValue: String ADMIN} SourceFile: "Test.java"
  •  如上面橙色标记,可知访问标志值为:flags: ACC_PUBLIC, ACC_INTERFACE, ACC_ABSTRACT

打开Test.class的字节文件,访问标志值紧跟在常量池之后的两个字节,

 

  •  如上图,访问标志值为:0x0601 ,上面已经得出flags: ACC_PUBLIC, ACC_INTERFACE, ACC_ABSTRACT ,参照下表可知,ACC_PUBLIC=0x0001
  • ,ACC_INTERFACE=0x0200,ACC_ABSTRACT =0x0400 ,   访问标志值0x0601  = 0x0001 or 0x0200 0x0400 

 

 

 

转载于:https://www.cnblogs.com/shyroke/p/9031951.html

总结

以上是生活随笔为你收集整理的(十四)访问标志 Access_flags的全部内容,希望文章能够帮你解决所遇到的问题。

如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。