覆盖静态方法和最终方法

Lee*_*fin 2 java inheritance overriding

我知道在Java中,static方法不能被子类覆盖.

两个问题:

1.这是为什么?谁能解释一下里面的原因呢?

2.子类可以覆盖final超类中的方法吗?

Jon*_*eet 12

不在特定实例上调用静态方法 - 因此不能以多态方式调用它们.它们在类型本身上被调用 - 绑定的任何内容都不依赖于任何仅在执行时可用的信息.关于多态调用的观点是最终执行的方法实现取决于调用目标的执行时类型; 因此,静态方法调用没有目标.

不,子类不能覆盖最终方法 - 使方法最终的最重要的一点是防止它被覆盖.