Java 成员将被编译成子类';类文件?

Java 成员将被编译成子类';类文件?,java,inheritance,subclass,superclass,.class-file,Java,Inheritance,Subclass,Superclass,.class File,在java中,继承的成员(静态或实例、方法或字段)会被编译到子类的.class文件中吗 或者只保留一个指向超级类的relavent成员的链接?就类文件而言,继承的成员不会复制到子类中。以下是(重点补充): 字段[] 字段表中的每个值必须是一个字段信息(§4.5)结构,给出此类或接口中字段的完整描述。fields表仅包括由此类或接口声明的字段它不包括表示从超类或超接口继承的字段的项。 methods[]methods表中的每个值都必须是method_info(§4.6)结构,给出此类或接口中方法

在java中,继承的成员(静态或实例、方法或字段)会被编译到子类的.class文件中吗


或者只保留一个指向超级类的relavent成员的链接?

就类文件而言,继承的成员不会复制到子类中。以下是(重点补充):

  • 字段[]
    字段表中的每个值必须是一个
    字段信息
    (§4.5)结构,给出此类或接口中字段的完整描述。fields表仅包括由此类或接口声明的字段它不包括表示从超类或超接口继承的字段的项。

  • methods[]
    methods表中的每个值都必须是method_info(§4.6)结构,给出此类或接口中方法的完整描述。[…]
    method\u info
    结构表示该类或接口类型声明的所有方法,包括实例方法、类方法、实例初始化方法(§2.9)和任何类或接口初始化方法(§2.9)方法表不包括表示从超类或超接口继承的方法的项。


简而言之,两者都不是子类
.class
文件包含的唯一内容是超类的名称。以及子类代码中的任何
super
引用,包括隐式构造函数调用。只是好奇-为什么需要它?@khachik我只是好奇。我真的不需要它。。