java这两个代码在接口方面有什么不同?
我目前正在学习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());
}
}
# 1 楼答案
在您的代码现在所在的状态中,没有区别,但这不是它的意义所在。再往下走,你需要和你的动物做一些事情,而不知道你有什么动物或它们能做什么。 假设你想把你的动物分为哺乳动物、鸟类和昆虫。他们中的一些人能跳,但其他人不能。如果您为可以跳转的哺乳动物创建特定的类或属性,这将是非常难看的代码。如果您改为创建一个接口,您有很多选择。您可以创建一个可以跳跃的动物列表,然后告诉它们跳跃,而不管它们是什么类型。 稍后,你可能想给你的动物增加尖叫声。只需添加一个接口即可