黑马程序员技术交流社区
标题:
关于多态的问题
[打印本页]
作者:
傲鸽
时间:
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
class Fu
{
boolean show(char a)
{
System.out.println(a);
return false;
}
}
class Demo1 extends Fu
{
public static void main(String[] args)
{
int i = 0;
Fu f = new Demo1();//定义父类的子类对象。
Demo1 d = new Demo1();//定义子类对象。
for (f.show('A'); f.show('B')&&(i<2); f.show('C'))
{
i++;
d.show('D');
}
/*
运行步骤(以i参考):
i = 0时,for 循环语句的执行顺序:f.show('A')--->f.show('B')--->d.show('D')--->f.show('C'),这时i++ = 1.
i = 1时,for 循环语句的执行顺序:f.show('B')--->f.show('D')--->f.show('C'),这时i++ = 2.
i = 2时,因为不满足i<2,所以只执行f.show('B');
*/
}
boolean show(char a)//方法一样,故子类方法覆盖了父类的方法。
{
System.out.println(a);
return true;
}
}
//------------------------------------------
/*
综上:运行结果为:
A
B
D
C
B
D
C
B
*/
复制代码
作者:
ㄗ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