• java中父类的静态方法不能被重写


    Java中父类的静态方法确实不能被重写的,但是有的人可能去做实验发现在子类中去重写父类static方法时,并没什么问题。这里我来具体解释下。

    public class Parent {

    public static void add(){
       System.out.println("=========Parent");
    }
    }

    public class Children extends Parent {

    public static void add(){
       System.out.println("=========Children");
    }

    }

    上面两个类并没发现在系统中报错,并通过测试

    public static void main(String[] args) {
      Children ch new Children();

    //Parent ch new Children();
       ch.add();
    }

    上面的测试可以执行通过;但是大家注意红色标注部分,问题就在这里,这两句引用的实例都是new Children();如果静态方法能被重写,这两句执行结果应该都为"=========Children“,但是事实不是这样,两句都是各自调用各自的方法。所以说静态方法并没被重写,两者的方法各自独立。

  • 相关阅读:
    ex01 温度转换1
    12 字典的遍历在 Python2 与 Python3 中区别
    11 序列中有多个最值时会索引出哪个
    10 isalpha() 对于字母的定义
    09 Python3 的深拷贝与浅拷贝
    08 in
    07 len()
    06 “杠零”与空字符
    导航点击字体变色
    清除浮动
  • 原文地址:https://www.cnblogs.com/doudouxiaoye/p/5697628.html
Copyright © 2020-2023  润新知