【发布时间】:2012-08-03 10:05:45
【问题描述】:
我参考了以下链接
谁能解释为什么我们在 java 中使用接口?
除了
- 接口可以实现多重继承。
- 多态性
【问题讨论】:
标签: java oop inheritance
我参考了以下链接
谁能解释为什么我们在 java 中使用接口?
除了
【问题讨论】:
标签: java oop inheritance
除了您提到的之外,接口是公开一组函数 (API) 的好方法,而不会泄露有关其实现的任何信息。
根据定义,当一个类implements 和Interface 时,它同意实现一系列方法。这将允许任何调用者使用这些方法,而无需:
【讨论】:
除了所有其他帖子之外,接口更多的是abstract,其中Interfaces 在class 和外部世界之间形成合同,并且该合同在构建时由@执行987654324@。如果您的class 声称实现了interface,则由该interface 定义的所有methods 必须出现在其源代码中,然后class 才能成功compile。
【讨论】:
接口将对象提供的功能与其实现分开。
您可以提供对接口的引用,而无需知道实际使用的是哪个实现。
接口还使测试更容易,因为您可以创建虚拟实现来测试您的代码。像 EasyMock 和 JMock 这样的库使这更容易做到。
【讨论】:
Proxy,它根本不必存在。 ;)
当一个类实现/实现多个接口时,它不是多重继承。继承/扩展关系实际上只存在于相同类型的构造之间(一个接口可以扩展另一个接口或一个类另一个类)。类和接口之间的关系是实现或实现,而不是扩展。 这种区分确实避免了多重继承(在Java中一个类最多可以扩展一个类),从而避免了许多问题(即钻石问题http://en.wikipedia.org/wiki/Diamond_problem等)最终提高了设计质量
【讨论】:
有一件事,还没有提到:您可以使用多个带有接口的设计模式来设计您的程序(定义 API)。这将在稍后帮助您实现大型软件实现。 也许你想读一些关于它的东西:http://en.wikipedia.org/wiki/Software_design_pattern
【讨论】: