A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

class Fu
{
        boolean show(char a)
        {
                System.out.println(a);
                return true;
        }
}
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 false;
                }
}
运行结果是什么?为什么?

4 个回复

倒序浏览
有答案吗
回复 使用道具 举报

有,自己看看
回复 使用道具 举报
打印结果是A B
因为Fu f=new Demo();//将子类对象当作父类来使用。这时调用父类中方法,若子类已经重写此方法那么就执行子类中的同名方法,这种现象就是多态
回复 使用道具 举报
楼上正解,遍左看右,f.show('B')返回的是false,所以不会执行方法体和控制语句
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马