为什么不在Java 8中使用默认构造函数?

时间:2016-06-30 05:14:58

标签: java interface java-8 default-constructor default-method

我看了this个问题。答案说即使在Java 8(我们可以在接口中使用默认方法),我们也不能拥有默认构造函数。它说这没有意义。

有人可以解释为什么它没有任何意义或者是什么原因导致Java 8中没有对默认构造函数的支持?

2 个答案:

答案 0 :(得分:4)

构造函数的主要目的是提供一个定义类型的实例,这在接口上没有意义,因为接口的主要目的是在代码中的组件之间提供契约。

对于默认构造函数,它确实没有意义,因为默认方法有逻辑,你会在默认构造函数上声明什么样的逻辑?

答案 1 :(得分:0)

什么构造者?只有类具有构造函数,它们创建实例。

如果某个接口的方法都具有默认实现,则可以创建如下实例:

MyFace obj = new MyFace(){};

似乎你感到遗憾的是必须编写两个额外的字符{}