super的使用就是为了解决祖先类的一个成员是private的,那么子类就能直接访问这个问题的

解决方案 »

  1.   

    列子:
    class aaa {
    private int a;
    public int b;
    aaa(int a ,int b){this.a=a;
    this.b=b;}
    }
    class bbb extends aaa {
    bbb(int a,int b){super(a,b);}
    }
    这样就完成了对私有变量a的赋值了嘛!!!
      

  2.   

    你的意思是我们的子类具有父类的private成员,或者可以在子类中访问父类的private成员,那这样一来,private和public还有什么区别
      

  3.   

    子类当然不能直接访问父类的private field,但可以通过public方法访问,
    且super()只能在构造方法中调用,当子类初始化时,它会先调用super(),或者调用其显式调用的super()方法,以完成对父类的初始化,以此类推,任何一个类的初始化都从Object类的Object()开始的,一级一级往下初始化...《Java in nutshell》中有对此的详细解释描述:)
      

  4.   

    看到了一些在子类中调用super.method的方法,method是父类的方法,这个方法可不可以是父类的private的方法
    我们知道在子类中可以构造一个父类对象从而调用父类的protect和public方法,如果super也是一个构造函数的话,可不可以调用父类private方法,如果可以,那有什么意义呢
      

  5.   

    有点晕!你这样理解吧:
    super可以给父类的private付值!
    而只有父类里面有public的方法能提供对父类的private对象的读!
      

  6.   

    这个意思我懂,我的意思是子类一个函数中可不可以有super.method这样的方法,这个Method是父类的private申明的方法