涉及到多态,要搞清楚,Fu f = new Demo()中的这个f是子类Demo的对象(可以试着举个动物的例子,比如动物 d = new 猫(),你说调用吃的动作时,是调用动物的方法吃还是调用猫的吃的方法,肯定是调用猫的吃方法),所以for(f.show('A');f.show('B')&&(i<2);f.show('C'))中的f.show()其实是调用子类Demo对象中的show方法,跟父类show方法没有任何关系。for.show('A')是初始化表达式,第一时间被执行,打印出A,而f.show('B')这个表达式打印了B且返回的是false,不是true,那么不能进入for循环。连循环都没进去过,所以说结果为A,B.这个答案希望你能满意。 |