【发布时间】:2023-03-08 14:13:01
【问题描述】:
可能重复:
What does it mean to “program to an interface”?
Interface vs Abstract Class (general OO)
我是学习 JAVA 的新手,现在我对界面感到困惑。查了很多资料,还是不太清楚。
当我尝试查找一些关于接口的信息时,我看到很多人都在谈论接口和抽象类之间的关系。但我什至不知道他们为什么要对比这两者。因为我认为抽象类是用来告诉其他人你不能创建这个抽象类的对象,如果你想,你必须修改抽象类。这是关于继承的事情,对吧?
但我不知道接口的含义。有一个interface a,如果一个class B要实现接口a,它必须使用保留字class B implements a,然后完成接口需要的所有方法。但是我的问题是,如果B类必须自己完成所有方法,那么接口的含义是什么?我认为我们不需要它。
我不太明白。我读了很多句子,例如:“接口可以反映面向对象语言的核心思想”,“接口可以帮助使程序更容易”等。但是我真的不能理解其中的意思。
那么,谁能给我看一些例子来让我理解界面?或者你可以告诉我一些有用的链接或清楚地描述界面的书籍。我真的希望弄清楚。谢谢!
【问题讨论】:
-
它可能会帮助您更多地了解java中的接口:stackoverflow.com/questions/383947/…
-
接口的唯一目的是实现公开定义的协议行为,这意味着继承接口的类必须包含该接口定义的所有方法是一个规则或更具体地说,它是该类的协议定义。 (无论如何,您在接口中定义的所有内容都必须是公开的)。