为什么不在 Java 8 中使用默认构造函数?
Why not default constructors in Java 8?
我读了 this 个问题。答案是即使在 Java 8 中(我们可以在接口中使用默认方法),我们也不能有 默认构造函数 。而且还说没意义。
有人可以解释为什么它没有任何意义,或者在 Java 8 中不支持默认构造函数的任何原因吗?
构造函数的主要目的是提供已定义类型的实例,这在接口上没有意义,因为接口的主要目的是在代码中的组件之间提供契约。
至于默认构造函数,确实没有意义,既然默认方法是有逻辑的,你在默认构造函数上声明什么样的逻辑?
什么的构造函数?只有 类 有创建实例的构造函数。
如果一个接口的方法都具有默认实现,您可以像这样创建一个实例:
MyFace obj = new MyFace(){};
您似乎在为不得不编码两个额外的字符而感到遗憾{}
。
我读了 this 个问题。答案是即使在 Java 8 中(我们可以在接口中使用默认方法),我们也不能有 默认构造函数 。而且还说没意义。
有人可以解释为什么它没有任何意义,或者在 Java 8 中不支持默认构造函数的任何原因吗?
构造函数的主要目的是提供已定义类型的实例,这在接口上没有意义,因为接口的主要目的是在代码中的组件之间提供契约。
至于默认构造函数,确实没有意义,既然默认方法是有逻辑的,你在默认构造函数上声明什么样的逻辑?
什么的构造函数?只有 类 有创建实例的构造函数。
如果一个接口的方法都具有默认实现,您可以像这样创建一个实例:
MyFace obj = new MyFace(){};
您似乎在为不得不编码两个额外的字符而感到遗憾{}
。