我看了this个问题。答案说即使在Java 8(我们可以在接口中使用默认方法),我们也不能拥有默认构造函数。它说这没有意义。
有人可以解释为什么它没有任何意义或者是什么原因导致Java 8中没有对默认构造函数的支持?
答案 0 :(得分:4)
构造函数的主要目的是提供一个定义类型的实例,这在接口上没有意义,因为接口的主要目的是在代码中的组件之间提供契约。
对于默认构造函数,它确实没有意义,因为默认方法有逻辑,你会在默认构造函数上声明什么样的逻辑?
答案 1 :(得分:0)
什么构造者?只有类具有构造函数,它们创建实例。
如果某个接口的方法都具有默认实现,则可以创建如下实例:
MyFace obj = new MyFace(){};
似乎你感到遗憾的是必须编写两个额外的字符{}
。