static boolean foo(char c){
System.out.print(c);
return true;
}
public static void main(String[] args) {
int i =0;
for(foo('A');foo('B')&&(i<2);foo('C')){
i++;
foo('D');
}
}
这题很简单,其实就是考察对于for循环定义的理解,以前用for循环只是生搬硬套,忘记了for循环执行的顺序,for(a;b;c){d
},先执行a,然后b,然后d,然后在回过来c,然后b,d,c,依次类推,所以根据for循环的定义,我们可以看出本题先执行A,B,D,此时i = 1 < 2,所以继续执行C,然后BDC,此时i= 2了,执行到B就结束了,所以答案是ABDCBDCB。
小知识点:
abstract类不能与final,static使用。final修饰方法,子类可以调用,但不能覆盖。
继承的时候,方法都是调用的,属性才是继承,方法没有继承者一说。
接口和抽象类的中的抽象方法,实现类或子类一定要去实现这个抽象方法。 抽象类的可以有具体实现方法和成员变量(私有的也可以),而接口都是抽象方法(1.8 中引入 default 方法) 一个类只能继承一个抽象类