两种说法:
1、子类继承基类所有成员,但不能访问继承而来的私有成员
2、子类继承基类非私有成员这两种说法哪种正确?为什么?

解决方案 »

  1.   

    我觉得应该是第一种说法是正确的,但不能说是"不能访问继承而来的私有成员",只是不能对私有成员变量进行直接操作,不能直接调用私有方法而已....一般都通过父类的其他方法实现对父类私有成员的操作,来实现封装...正解。
    建议你多看点书再来问问题 呵呵
    其实私有成员也是被继承的 只是不能够直接使用 但是父类中的方法是可以使用的 若父类中的方法中使用了这些私有成员 而且这些方法是能被继承的方法 实际上等于间接的操作了私有成员 这就体现了Java的封装——私有成员代表的是操作的过程 而我们只想知道输入跟输出结果。隐藏了中间过程 就叫封装。
      

  2.   

    是这个样子的。
    恭喜你 你比一般人要强 能够在看书的时候思考 其实有很多时候书上是有错误的
    我现在也在学习Java,看的是Java编程思想。感觉第二版虽然翻译的不好 但是内容还凑合。建议买第三版。
      

  3.   

    http://topic.csdn.net/t/20050704/09/4120799.html这里有一个讨论“private 属性到底能不能被子类继承?”的帖子,抱歉,这个东西好像已经被讨论很多次了,该搜索一下先
      

  4.   

    其实有一种简单方法看出来,在vc中,定义两个有继承关系的类,不要带虚函数,使用sizeof看一下大小就知道了