Java 中静态方法的继承
尽管声称静态方法在 Java 中不被继承,但代码演示了相反的情况。这种矛盾提出了一个问题:静态方法真的是继承的吗?
要理解这个明显的悖论,有必要重新审视 Java 中成员继承的概念。根据这本书,超类的可访问成员(不使用“super”)被认为是继承的。
但是,Sun Java 教程提供了更广阔的视角:
基于此,静态方法被继承,因为它们本质上是公共的。它们可以通过简单的名称访问,并且不绑定到特定实例。
继承的静态方法的唯一特点是在子类中引入具有相同签名的新静态方法时它们的行为。在这种情况下,现有的静态方法被隐藏,而不是被覆盖。此行为确保特定于子类的静态实现不受影响。
因此,本书对成员继承的解释适用于实例方法和静态方法,区别在于静态方法始终可见并可继承(如果它们是)在超类中可以访问。此外,访问隐藏的静态方法取决于调用是从超类还是子类发生。
以上是Java中的静态方法真的是继承的吗?的详细内容。更多信息请关注PHP中文网其他相关文章!