私有的属性可以被子类继承,但是不能在子类中通过.运算符来访问,通常通过父类中的Accessor来访问;如果说私有的属性可以被继承,那么私有的方法也可以被继承吧,那么私有方法被继承后,在子类中有什么作用,如何才能访问到,如果不能访问,那么继承它岂不是在浪费内存吗?

解决方案 »

  1.   

    私有的属性和私有的方法都是不能被继承的,但是可以通过实例化对象来访问,例如
    public class  Aa
    {
    private  int a=0;
    private void method()}
    class Bb extends Aa
    {
    int a;   //是子类自己的变量,不是继承过来的(没有隐藏父类的成员变量a)
    void method(){}//是子类自己的方法,不是重写(覆盖)父类的方法.
    }
      

  2.   

    我曾经用了1300分,都没有在CSDN搞清楚这个问题,
    up
      

  3.   

    楼上
    1300分???
    你有这么多分,这么多时间,不能找本书看看吗?我不久前曾在csdn上看到一个两颗星的人说 “私有方法也是可以被继承的”,忘了是哪个帖字
    的确看到过。随便拿手头一本书  
    Java 2 入门经典    wrox出版  IVOR HORTON 著第188页中间一段...
    ....那些在基类中声明为private的方法不能被继承,
    那些没有声明访问属性的方法只有在你定义的派生类与基类在同一个包中时被继承。
    其他访问属性的方法都可被继承。
        构造函数不同于普通方法。基类中的构造函数永远不能被继承,不管它们的属性如何。
    ......
      

  4.   

    private 是不能被继承的,如果可以,还叫什么封
      

  5.   

    个人觉得private变量和方法都是被继承了。
    只是受于jvm的控制,不可以访问到。不知道有没有高手可以通过native来做到.
      

  6.   

    楼上的,java的"基本教义",似乎不是什么csdn上的所谓"高手"创造出来的。
      

  7.   

    修改一下。java的"基本教义",似乎不是什么csdn上的所谓"高手" 能改变的!!
      

  8.   

    You can access private fileds and methods by using java reflection function.i has done it before.
      

  9.   

    我觉得“ freego1026”的回答是最好的
      

  10.   

    我认为是继承了的,这样才算是继承的概念,但是子类不能直接访问这个方法,要通过创建父类的对象,然后通过这个父类的对象访问。确实我也想过这个问题,既然子类不能直接访问这个方法,那么它有什么必要去继承它呢?继承的概念问题。就好像我们读书,既然读了那么多都不是每样知识都可以用上,为什么要学呢?同时 java编程思想 书中都是认为private方法是被继承的,只是子类不能直接访问。同时你又可以在子类中创建一个跟父类的private方法同名的方法,注意这样却不是覆盖,因为这个private的父类方法对子类是完全不可见的,子类只是创建了一个新的同名的方法。