现在,我们知道Java 8在接口中引入了默认和静态方法 接口最初是用Java引入的,以避免在多重继承中发生在C ++中的the diamond problem。
但是随着Java 8中接口中默认方法的引入,Java现在也引入了钻石问题,这在以前的版本中已经避免了。
不会强制要求覆盖默认方法 但是当钻石问题使用接口时,实现这些接口的类必须覆盖默认方法。
所以现在,我脑子里有三个问题:
有任何好的解释或任何解释链接?
PS 我在互联网上找不到包含任何好文章的链接。
他们所说的只是一个抽象的课程给你更多的具体性
就像在,抽象类可以有构造函数,但接口不能。
所以,我想知道,如果抽象类更具体,并且可以有构造函数,
无论如何Java引入了钻石问题,为什么我们现在应该有接口呢?作为多重继承的独立,抽象类不是很好吗?
答案 0 :(得分:2)
答案 1 :(得分:0)
在此处查看更多https://docs.oracle.com/javase/tutorial/java/IandI/nogrow.html