成员会被编译到子类的.class文件中吗?

孙兴斌*_*孙兴斌 3 java inheritance subclass superclass .class-file

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

或者只是保留超级类相关成员的链接?

das*_*ght 5

就类文件而言,继承的成员不会复制到子类中。以下是Oracle 的相关文档(重点已添加):

\n\n
\n
    \n
  • fields[]\n 字段表中的每个值必须是field_info(\xc2\xa74.5) 结构,给出此类或接口中字段的完整描述。字段表仅包含此类或接口声明的那些字段。它不包括表示从超类或超接口继承的字段的项。

  • \n
  • methods[]方法表中的每个值必须是 method_info (\xc2\xa74.6) 结构,给出此类或接口中方法的完整描述。[...] 这些method_info结构表示此类或接口类型声明的所有方法,包括实例方法、类方法、实例初始化方法 (\xc2\xa72.9) 以及任何类或接口初始化方法 (\xc2\xa72.9)。 9). 方法表不包括表示从超类或超接口继承的方法的项目。

  • \n
\n
\n