java - 为什么我们不能覆盖 static 和 final 方法?

标签 java

<分区>

我试图理解为什么我们不能覆盖静态和 final方法。我不明白它背后的目的。

最佳答案

final 方法不能被覆盖,因为这就是 final 的设计目的:它是一个标志,表示“不要覆盖这个”。

static 方法不能被覆盖,因为它们永远不会以多态方式调用:当您调用 SomeClass.foo() 时,它会总是SomeClassfoo 方法,不管是否有另一个 ExtendedSomeClass 有一个更 groovier foo 方法。

关于java - 为什么我们不能覆盖 static 和 final 方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20282027/

相关文章:

java - 改进通用 SeekBar 示例

java - 为什么不能从枚举构造函数调用 super 构造函数?

java ArrayBlockingQueue同时put和take会导致死锁吗?

java - 在Spring MVC项目中使用junit测试dao

Java TCP/IP 服务器 - 通过 Internet 进行客户端通信

java - JLabel 根据内部值不断移动

java - 斐波那契数列中 f(93) 处的数字为负值,怎么办?

java - 我在 Mac 上创建 JLabel 时出现有关错误字体的错误日志

java - 测试生成的 HTML 代码的规范方法是什么?

java - 如何将这个嵌套的复杂 JSON 解析为 POJO