22 字段表集合

fields:字段表是指向常量池索引集合,描述了每个字段的完整信息。


image.png

1,父类定义的变量是不会存在于子类的field表结构中的。

2,Java语言规范中,不允许同一个类中有重名的字段,但是Java虚拟机规范表示在一个类中,只要有不同的方法描述符就可以共存,比如两个重名但是类型不同对Class文件来说是合法的。

字段表可以看作是一个数组,每一个元素都是field_info,注意区分field_info和CONSTANT_Fieldref_info的结构。

field_info结构:


image.png

CONSTANT_Class_info结构:


image.png

应该说,field_info中可能会引用CONSTANT_Class_info。

image.png

name_index:字段名索引
根据字段名索引的值,查询常量池中的制定索引项即可。
descriptor_index:描述符索引
描述符的作用是用来描述字段的数据类型、方法的参数列表(数量、类型及顺序)和返回值。

(字段的)属性表集合:
image.png
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

友情链接更多精彩内容