将成员编译成子类的.class文件吗?

时间:2018-03-27 03:24:44

标签: java inheritance subclass superclass .class-file

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

或者只是保留一个指向超类的相关成员的链接?

1 个答案:

答案 0 :(得分:3)

就类文件而言,继承的成员不会被复制到子类中。这是relevant documentation from Oracle(强调添加):

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

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

  •