可能重复:
What does it mean to “program to an interface”?
Interface vs Abstract Class (general OO)困惑JAVA接口
我是新来学习Java,现在我感到困惑的接口。我已经搜索并阅读了许多材料,但仍不清楚。
当我试图找到关于接口的一些信息时,我看到很多人谈论了接口和抽象类之间的关系。但我甚至不知道他们为什么对比这两个。因为我认为抽象类用于告诉其他人你不能创建这个抽象类的对象,如果你想要,你必须修改抽象类。这是关于继承的事情,对吧?
但我不知道界面的含义。有一个interface a
,如果class B
要实现接口a,它必须使用保留字class B implements a
,然后完成接口所需的所有方法。但是我的问题是,如果B类必须自己完成所有的方法,接口的含义是什么?我认为我们不需要它。 我不太了解它。我读了很多句子:“界面可以体现面向对象语言的核心思想”,“界面可以帮助程序更轻松”等等。但我无法真正理解这个意思。
那么,有没有人能告诉我一些例子让理解界面?或者你可以告诉我一些有用的链接或清楚描述界面的书籍。我真的很希望弄明白。谢谢!
它可能有助于探索你更多关于java中的接口:http://stackoverflow.com/questions/383947/what-does-it-mean-to-program-to-an-interface – Jimmy
唯一的目的是接口是实现*公共定义的协议行为*,意味着继承接口的类必须包含由该接口定义的所有方法是一个规则,或者更具体地说它是该类的协议定义。 (无论如何,你在界面中定义的每件事都必须公开)。 – Lion