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

我目前正在学习java。我只是不明白接口的使用,我真的很困惑。


这两个代码返回的答案是一样的,那么这里的interface有什么用呢?


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());

}

}


慕码人2483693
浏览 78回答 1
1回答

临摹微笑

在您的代码现在所处的状态下,没有区别,但这不是它的意思。更进一步,您将需要与您的动物一起做事,而不知道您拥有什么动物或它们可以做什么。假设您想将动物分类为哺乳动物、鸟类和昆虫。他们中的一些人可以跳跃,但其他人不会。如果您为可以跳跃的哺乳动物创建特定的类或属性,这将是非常丑陋的代码。如果您创建一个接口,您有很多选择。您可以创建一个可以跳跃的动物列表,然后告诉它们跳跃,无论它们是什么类型。稍后,您可能想要为您的动物添加尖叫声。只需为此添加一个接口。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java