JVM学习笔记第六天,Class文件结构(三):当前类、父类和接口,Class文件的字段和方法基本结构

当前类,父类和接口
在访问标记之后紧跟着的是类的类别,父类类别和实现的接口,它的结构如下:

u2		this_class;
u2		super_class;
u2		interfaces_count;
u2		interfaces[interfaces_count];

this_class和super_class指向常量池中CONSTANT_Class,表示当前的类型和父类。

Class文件的字段和方法基本结构
在接口描述后就会有类的字段信息,因为一个类有多个字段,所以要先说明字段的个数:

u2						fields_count;
field_info				fields[fields_count];

field_info里存储着字段的基本信息,它的具体结构如下:

field_info{
	u2		access_flags;//字段的访问标记,和之前提到的类的访问标记很像
	u2		name_index;//字段名称,它是一个两字节整数,指向常量池中的CONSTANT_Utf8结构
	u2		descriptor_index;//字段类型,两字节整数,指向常量池中的CONSTANT_Utf8结构
	u2		attributes_count;//属性个数
   attribute_info    attributes[attributes_count];//存放属性信息如初始化值和注释的具体数组。
}

下面是字段的访问标记位Access Flag和含义:
在这里插入图片描述
在字段信息之后是类的方法信息,它和字段信息结构类似,也由两部分组成:

u2					methods_count;
method_info		    methods[methods_count];

method_info的结构和上面的field_info的结构类似,可以依照上面类推。访问标记也大同小异,如下图所示:在这里插入图片描述
再往后就是方法的执行主体code属性了,它储存着方法的字节码等信息,下次再总结有关它的内容。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值