【发布时间】:2014-08-25 10:41:29
【问题描述】:
我是 Java 编程新手,现在我正在尝试理解 OOP 概念(继承、多态等)。
我知道,当子类扩展超类(抽象与否)时,子类构造函数首先调用该超类的构造函数(super())。
我的问题是:
1) 接口的情况是否相同?我看过一些文章说接口没有构造函数,那么它们究竟是如何扩展的?
2) 为什么 Java 不支持多重继承,但一个接口可以“扩展”多个其他接口?
提前致谢。
【问题讨论】:
-
我一直认为接口是一种契约,因为它基本上规定了实现类必须遵守的内容。因此,当一个合同扩展另一个合同时,它会获取源合同中包含的所有规则、规定和边界并添加自己的。
-
接口是没有实现的契约(Java8 引入了默认方法)。通过扩展,您可以使用要由具体类实现的新“名称”来扩展合同。
-
这个问题stackoverflow.com/q/8531292/1055241也可以帮助你理解接口的概念
标签: java oop inheritance interface constructor