黑马程序员技术交流社区

标题: 关于多态的问题 [打印本页]

作者: 傲鸽    时间: 2013-6-19 22:45
标题: 关于多态的问题
本帖最后由 傲鸽 于 2013-6-22 23:11 编辑

class Fu {
      boolean show(char a) {
             System.out.println(a);
             return false;
       }
}
class Demo extends Fu {
         public static void main(String[] args) {
               int i=0;
               Fu f=new Demo();
               Demo d=new Demo();
               for(f.show('A'); f.show('B')&&(i<2);f.show('C')){
                      i++;
                      d.show('D');
                }
         }
        boolean show(char a){
              System.out.println(a);
              return true;
        }
}
结果是什么?请大家帮我解释一下for循环那块?有点懵

作者: 刘利民    时间: 2013-6-19 23:14
  1. class Fu
  2. {
  3.        boolean show(char a)
  4.       {
  5.             System.out.println(a);
  6.             return false;
  7.        }
  8. }

  9. class Demo1 extends Fu
  10. {
  11.        public static void main(String[] args)
  12.        {
  13.               int i = 0;
  14.               Fu f = new Demo1();//定义父类的子类对象。
  15.               Demo1 d = new Demo1();//定义子类对象。
  16.               for (f.show('A'); f.show('B')&&(i<2); f.show('C'))
  17.              {
  18.                    i++;
  19.                    d.show('D');
  20.               }
  21. /*
  22. 运行步骤(以i参考):
  23. i = 0时,for 循环语句的执行顺序:f.show('A')--->f.show('B')--->d.show('D')--->f.show('C'),这时i++ = 1.
  24. i = 1时,for 循环语句的执行顺序:f.show('B')--->f.show('D')--->f.show('C'),这时i++ = 2.
  25. i = 2时,因为不满足i<2,所以只执行f.show('B');
  26. */
  27.          }
  28.    boolean show(char a)//方法一样,故子类方法覆盖了父类的方法。
  29.          {
  30.                System.out.println(a);
  31.                return true;
  32.          }
  33. }

  34. //------------------------------------------
  35. /*
  36. 综上:运行结果为:
  37. A
  38. B
  39. D
  40. C
  41. B
  42. D
  43. C
  44. B
  45. */

复制代码

作者: ㄗs:/|丶hearts    时间: 2013-6-19 23:20
本帖最后由 ㄗs:/|丶hearts 于 2013-6-19 23:33 编辑

打印的是 A B D C  B D C B 中间是换行符
作者: 袁梦希    时间: 2013-6-20 11:01
不错




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