Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/356.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/loops/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 这两个代码在接口方面有什么区别?_Java - Fatal编程技术网

Java 这两个代码在接口方面有什么区别?

Java 这两个代码在接口方面有什么区别?,java,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[]) { A

我目前正在学习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());
}
}