笔记-Java基础Class文件之访问标志

在常量池结束之后,紧接着的两个字节代表访问标志(access_flag),这个标志用于识别一些类或者接口层次的访问信息,包括:这个Class是类还是接口;是否定义为public类型;是否定义为abstract类型;如果是类的话,是否被声明为final等。具体的标志位以及标志的含义如下表所示:

access_flag中一共有有16个标志位可以使用,当前之定义了8个,没有使用到的标志位要求一律为0。

TestClass是一个普通Java类,不是接口,枚举或者注解,被public关键字修饰但没有被声明为final和abstract,并且它使用了jdk1.2之后的编译器进行编译,因此它的ACC_PUBLIC,ACC_SUPER标志应当为真,而ACC_FINAL,ACC_INTERFACE,ACC_ABSTRACT,ACC_SYNTHETIC,ACC_ANNOTATION,ACC_ENUM这6个标志应当为假,因此它的access_flags的值应当为:0x0001|0x0020 = 0x0021。

猜你喜欢

转载自blog.csdn.net/helianus/article/details/89329881
今日推荐