首页 > Java > java教程 > Java 中的静态方法真的继承吗?

Java 中的静态方法真的继承吗?

Barbara Streisand
发布: 2024-12-12 11:30:13
原创
985 人浏览过

Do Static Methods Actually Inherit in Java?

Java 继承中的静态方法

尽管人们普遍认为静态方法在 Java 中不被继承,但仍然存在一个令人费解的异常。这种混乱源于对 Java 语言中继承本质的误解。

根据 Java 官方文档,所有可访问的方法都是由子类继承的。这包括公共、受保护和包私有方法。继承的方法可以按原样使用、重写、隐藏或用新方法补充。

对于静态方法,继承行为的不同之处仅在于子类中重写的静态方法隐藏了继承的方法方法而不是覆盖它。当从子类调用时,将执行子类中的隐藏方法,而不是继承的方法。

因此,能够访问并调用 B 类中的静态方法 display() 是因为方法与超类的其他可访问成员一起继承。 B.display() 看似异常的行为也有效,因为它调用 B 类中隐藏的静态方法而不是继承的方法。

覆盖和隐藏之间的区别具有重要意义。在重写的情况下,子类中的方法总是执行,无论它是从超类还是子类调用。但是,在隐藏的情况下,调用的方法取决于上下文。如果从超类调用静态方法,则继承的方法将执行;否则,将执行子类中的隐藏方法。

以上是Java 中的静态方法真的继承吗?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板