今天我在CSDN帖子中看到一篇文章是关于子父类覆盖的,上面说:“父类被覆盖的方法不能为static。如果父类中的方法为静态的,而子类中的方法不是静态的,但是两个方法除了这一点外其他都满足覆盖条件,那么会发生编译错误。反之亦然。即使父类和子类中的方法都是静态的,并且满足覆盖条件,但是仍然不会发生覆盖,因为静态方法是在编译的时候把静态方法和类的引用类型进行匹配。”
综其结论为:父类的被覆盖方法不能为static。而我在看java基础视频时,老师却说的是:静态只能覆盖静态的。
一个说静态不能被覆盖,另一说静态只能被静态覆盖,那这两者之间的结论不是矛盾了吗,所以我也想知道静态到底能不能被覆盖,谁的结论是正确的呢?
|
|