黑马程序员技术交流社区

标题: 求解?一道练习题的疑惑? [打印本页]

作者: shw16888    时间: 2015-4-16 23:30
标题: 求解?一道练习题的疑惑?
本帖最后由 shw16888 于 2015-4-17 16:51 编辑
  1. 写出程序结果        
  2. class Fu
  3. {
  4.         boolean show(char a)
  5.         {
  6.                 System.out.println(a);
  7.                 return true;
  8.         }
  9. }
  10. class Demo extends Fu
  11. {
  12.         public static void main(String[] args)
  13.         {
  14.                 int i=0;
  15.                 Fu f=new Demo();
  16.                 Demo d=new Demo();
  17.                 for(f.show('A'); f.show('B')&&(i<2);f.show('C'))
  18.                 {
  19.                         i++;
  20.                         d.show('D');
  21.                 }        
  22.         }
  23.         boolean show(char a)
  24.         {
  25.                 System.out.println(a);
  26.                 return false;
  27.         }
  28. }
复制代码

为什么f是调用子类中的show???
作者: 蜡笔    时间: 2015-4-16 23:48
多态的特点,父类引用指向子类对象,自始自终都是子类对象在操作,你看看毕老师的第八天面向对象内容吧,多态的特点
作者: shw16888    时间: 2015-4-17 12:46
蜡笔 发表于 2015-4-16 23:48
多态的特点,父类引用指向子类对象,自始自终都是子类对象在操作,你看看毕老师的第八天面向对象内容吧,多 ...

恩恩,感谢回复。
作者: 海带    时间: 2015-4-17 14:28
多态啊,父类的引用指向了子类对象
作者: 百思不得解    时间: 2015-4-17 14:45
多态啊,编译看左边,运行看右边。




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