我目前正在学习Java。我只是不了解界面的使用,对此我感到很困惑。
这两个代码返回相同的答案,那么这里的接口有什么用?
interface Jumpable {
abstract int maxDistance();
}
class Animal implements Jumpable {
public int maxDistance() {
return 100;
}
}
public class Forest {
public static void main(String args[]) {
Animal lion = new Animal();
System.out.println(lion.maxDistance());
}
}
class Animal {
public int maxDistance() {
return 100;
}
}
public class Forest {
public static void main(String args[]) {
Animal lion = new Animal();
System.out.println(lion.maxDistance());
}
}
答案 0 :(得分:2)
在您的代码现在处于状态的情况下,没有什么区别,但这不是它的意义。再往下走,您将需要对动物进行处理,而无需知道您拥有哪些动物或它们可以做什么。 假设您想将动物分为哺乳动物,鸟类和昆虫。其中一些可以跳跃,而其他则不能。如果为可能跳跃的哺乳动物创建特定的类或属性,这将是非常丑陋的代码。如果创建接口,则有很多选择。您可以创建一个可以跳跃的动物列表,然后告诉它们跳跃,而不管它们的类型如何。 稍后,您可能想对动物添加尖叫声。只需为此添加一个接口。