下面的类使用类接口的方法剥离而不实现它,它也不是一个抽象类隐藏方法吗?
interface Peelable {
int peel();
}
class Fruit {
// Return int number of pieces of peel that
// resulted from the peeling activity.
public int peel() {
System.out.println("Peeling is appealing.");
return 1;
}
}
class Apple implements Peelable {
private Fruit fruit = new Fruit();
public int peel() {
return fruit.peel();
}
}
class FoodProcessor {
static void peelAnItem(Peelable item) {
item.peel();
}
}
class Example5 {
public static void main(String[] args) {
Apple apple = new Apple();
FoodProcessor.peelAnItem(apple);
}
}
答案 0 :(得分:1)
Fruit
与Peelable
或Apple
无关(*),因为[Fruit
]未实现Peelable
。
它们只是两个类[Apple
,Fruit
]或类和接口[Fruit
,Peelable
碰巧有一个具有相同名称的方法。
(*)不是 - 更确切的关系。显然,Apple
有一个Fruit
作为字段。