abstract class Fruit{ //水果类
void eat(); //--------吃水果
}
abstract class Food{ //--------食物类
void consumer(); //------消费食物
}
class Apple extends Fruit{ //---苹果类继承水果类
public void eat(){
System.out.println("苹果被我吃了"); }
public Food getFood(){ // -----采用匿名内部类获取食物;
return new Food(){
public void consumer(){
System.out.println("食物被我吃了"); }
};
}
}
public class Person{
static void take(Fruit ft){ ft.eat(); }
static void take(Food fb){ fb.consumer(); }
public static void main(String[] args){
take(new Apple());
take(new Apple().getFood());
}
}
为什么编译时会在抽象类那个地方报错?谢谢你的解答。