第321页, 方法表的Code属性,是用于存放方法java源码经过编译后的字节码.
但是对于interface及abstract的方法就不存在Code属性(因为方法体为空,只是个定义).
对于interface当然好理解,但是书中却没有提到abstract类中,其实是可以存在有方法体的方法的.
难道对于这类方法,它的Code属性也为空吗?
如果为空,那这类方法编译后的字节码存放在何处呢(书中貌似并未提到)?

7.3.4 解析
字段解析 - 搜索的顺序是,如果要找的字段在自身对象外,则是先去自己实现的各个接口按照继承关系从下往上查找,如果找不到,则按照继承关系从下往上去父类找;

Java字节码与抽象方法探究
本文讨论了Java中方法表的Code属性,指出对于interface和abstract方法,Code属性通常为空,因为它们没有实际的方法体。对于abstract类中存在方法体的抽象方法,文章提出疑问:这些方法的字节码在哪里?解析过程强调了字段查找的顺序,但未明确说明此类情况。这引发了对Java字节码存储和抽象方法实现细节的深入思考。
594

被折叠的 条评论
为什么被折叠?



