<分区>
我试图理解为什么我们不能覆盖静态和 final方法。我不明白它背后的目的。
标签 java
<分区>
我试图理解为什么我们不能覆盖静态和 final方法。我不明白它背后的目的。
最佳答案
final
方法不能被覆盖,因为这就是 final
的设计目的:它是一个标志,表示“不要覆盖这个”。
static
方法不能被覆盖,因为它们永远不会以多态方式调用:当您调用 SomeClass.foo()
时,它会总是 是 SomeClass
的 foo
方法,不管是否有另一个 ExtendedSomeClass
有一个更 groovier foo
方法。
关于java - 为什么我们不能覆盖 static 和 final 方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20282027/