黑马程序员技术交流社区

标题: 什么情况??? [打印本页]

作者: java冬冬    时间: 2013-5-17 15:46
标题: 什么情况???
本帖最后由 java冬冬 于 2013-5-17 16:39 编辑

  1. class Fu
  2. {
  3. private int num = 4;
  4. public void setNum(int num)
  5. {
  6. this.num =num;
  7. }
  8. public int getNum()
  9. {
  10. return this.num;
  11. }
  12. }

  13. class Zi extends Fu
  14. {
  15. //int num = 5;
  16. void show()
  17. {
  18. System.out.println(super.num);
  19. }
  20. }

  21. class ExtendsDemo2
  22. {
  23. public static void main(String[] args)
  24. {
  25. Zi z = new Zi();
  26. z.show();
  27. //System.out.println(z.num+"...."+z.num);
  28. }
  29. }
复制代码


作者: 逸盏清茶    时间: 2013-5-17 15:51
父类的 num 被私有了 ,子类就不知道有num,所以无法访问,private修饰的成员只能作用于本类
作者: 萌小子    时间: 2013-5-17 16:22
  1. class Zi extends Fu

  2. {

  3. //int num = 5;

  4. void show()

  5. {

  6. System.out.println(super.num);
  7. //问题出在这哦,super.num根本无法访问,private只有本类可以访问。你可以使用super.getNum();

  8. }

  9. }

复制代码

作者: 8047107    时间: 2013-5-17 16:32
本帖最后由 8047107 于 2013-5-17 16:36 编辑

你对象调用了num 但是num不是private嘛。 所以访问不到
super后面的用错,具体是否应该用get还是set你试试 我还没学到这里 但是肯定不是num
作者: java冬冬    时间: 2013-5-17 16:37
王盟盟 发表于 2013-5-17 16:22


是我糊涂喽,多谢多谢




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2