在java中,将继承的成员(静态或实例,方法或字段)编译成子类的.class文件吗?
或者只是保留一个指向超类的相关成员的链接?
答案 0 :(得分:3)
就类文件而言,继承的成员不会被复制到子类中。这是relevant documentation from Oracle(强调添加):
fields[]
fields表中的每个值必须是field_info
(§4.5)结构,给出该类或接口中字段的完整描述。 fields表仅包括由此类或接口声明的那些字段。 它不包含表示从超类或超接口继承的字段的项。
methods[]
方法表中的每个值必须是method_info(§4.6)结构,给出该类或接口中方法的完整描述。 [...]method_info
结构表示此类或接口类型声明的所有方法,包括实例方法,类方法,实例初始化方法(第2.9节)以及任何类或接口初始化方法(第2.9节)。 方法表不包含表示从超类或超接口继承的方法的项。