Class文件(四)类索引

Class文件(四)类索引

上篇已经说完了access_flags,现在开始下面的,下面两个字节就是类名,然后两个字节是父类名,都知道

java是单继承,多实现,所以父类只可能是一个。再下面两个字节是接口数量,再下面是各接口的名称。

Class文件(四)类索引

上次分析到0021,然后00 05,对应的就是位置就是第五个常量池保存的类名,

再然后00 06,对应的就是位置就是第六个常量池保存的父类名,后面的接口个数以及接口名都没有

所以用00 00 表示。用命令看下对不对

Class文件(四)类索引

第5个常量池保存的就是Test类名,第6个常量池就是其父类Object。

这边我们稍微修改下代码,增加个接口

public class Test implements MyInter{

public static void main(String[] args){

System.out.println("Hello,World");
}

}

增加了一个接口,接口什么也方法也没有。

Class文件(四)类索引

00 01 表示有一个接口,00 07 表示对应的接口名在常量池第七个位置。

Class文件(四)类索引