Class的访问标志、类、父类、接口索引

Class的访问标志

常量池结束后的后两个字节代表访问标志(access_flags),用于识别一些类或接口层次的访问信息。

包括:

  • 这个Class是类还是接口
  • 是否定义为pulbic类型
  • 是否定义为abstract类型
  • 如果是类,是否声明为final
  • ...

因为是个u2,所以有16个标志位可以使用。

类索引、父类索引、接口索引集合

类索引(this_class)和父类索引(super_class)都是一个u2类型的数据,

接口索引集合(interfaces)是一组u2类型的数据的集合。

这些都是为了找到全限定名。

除了java.lang.Object外,所有Java类都有父类,父类索引都不为0