java中为什么被重写的方法不能为private?

解决方案 »

  1.   

    private是私有方法就是不能被重写
      

  2.   

    java中,LZ有听过这样的语句么?
    private 是私有的,在类中私有的,仅仅在本类中可见。
    几种修饰符LZ搞定就懂了。
      

  3.   

    从继承关系上讲子类对父类具有可访问的属性。而不是has a 的关系。如果非要从内存的角度去考察这件事情的话,粗略的讲,就是子类与父类之间通过extends关键字被JVM产生联系。但是彼此内存之间并不直接相关。因此,非私有的重写之所以能实现,就是子类中的方法能把父类中的方法“挡住”。私有方法不可重写,原因可能在于private属性的限制。
    域的隐藏规则“父类的方法访问父类的属性”也不与上述冲突。
      

  4.   

    从继承关系上讲子类对父类具有可访问的属性。而不是has a 的关系。如果非要从内存的角度去考察这件事情的话,粗略的讲,就是子类与父类之间通过extends关键字被JVM产生联系。但是彼此内存之间并不直接相关。因此,非私有的重写之所以能实现,就是子类中的方法能把父类中的方法“挡住”。私有方法不可重写,原因可能在于private属性的限制。
    域的隐藏规则“父类的方法访问父类的属性”也不与上述冲突。
      

  5.   

    你找你爸要生活费父亲持有生活费这个变量
    关系是私有
    子类不能重写,因为父亲不愿意
    你要是直接调用父亲的钱还了得
    所以父亲提供一个公开的方法,比如get,set
    让你去操作
    你想操作父亲的钱,必须用父亲提供的方法
      

  6.   

    重写很明显的就是父类中存在有的,那么多态: Object obj = new String();这个是没问题的,那么如果String重写Object方法的时候变成private的啦,那么obj调用这个方法的时候那不是会报错了呀。