解决方案 »

  1. cvm
  2. 是私有。但是student继承了person。所以student里也应该有name 和age。所以调用应该理论上还是可以的。难道是name计算机不识别是student还是person的?那我加了个student.name还是识别不了?
      

  3. 理论上是不可以的。
    私有就是私有,虽然student里面有父类的所有属性,但就是没有权限访问。
    你可以用protected范围。
      

  4. 私有就是私有,虽然student里面有父类的所有属性,但就是没有权限访问。
    你可以用protected范围。
      

  5. 4楼说的对,这两个属性是父类私有的属性,子类无法直接访问,只能通过get set方法来访问。
    同时,不止是子类无法访问,其他任何一个类都不能直接访问另一个类的私有属性。
      

  6. 根据对比 我发现要将30行的name 改成getName,age改成getAge代码可以成功编译
           问题1    :与17行对比 我就很疑惑。既然是继承就包括继承了成员变量name和age 为什么这里就不可以直接调用了?
           问题2    : 还有我试了下如果把30行的name 改成student.name 还是不行
                                                                                     同样的改成this.name还是出错。解析:1)类的私有属性只归其本身所有,其他类访问该属性只能通过该类对外提供的方法访问  --类的封装特性
          2)有我试了下如果把30行的name 改成student.name 还是不行  --student  哪来的 
         建议把抽象和类的封装、继承、多态特性好好理解  ,多练,多分析就好,动手之前多看看书上的分析
        
      

  7. private 私有的,不可继承。
    public 公共的,可继承。
    protected 受保护的,可继承。
      

  8. 父类的private成员和方法,子类可以直接访问吗?答案是不能。