gpt4 book ai didi

java - 为什么 Java 不允许重写静态方法?

转载 作者:太空宇宙 更新时间:2023-11-04 10:23:29 24 4
gpt4 key购买 nike

为什么不能重写静态方法?

如果可能,请使用示例。

最佳答案

重写取决于是否有类的实例。多态性的要点是,您可以对一个类进行子类化,并且实现这些子类的对象对于父类(super class)中定义的相同方法(并在子类中重写)将具有不同的行为。静态方法不与类的任何实例关联,因此该概念不适用。

Java 的设计有两个考虑因素影响了这一点。其中之一是对性能的担忧:Smalltalk 受到了很多批评,认为它太慢(垃圾收集和多态调用是其中的一部分),而 Java 的创建者决心避免这种情况。另一个决定是 Java 的目标受众是 C++ 开发人员。让静态方法按其实际方式工作有利于 C++ 程序员熟悉,而且速度也非常快,因为无需等到运行时才确定要调用哪个方法。

关于java - 为什么 Java 不允许重写静态方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50830532/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com