この質問を読みました。答えは、Java 8 (インターフェースでデフォルトのメソッドを持つことができる場所) でさえ、デフォルトのコンストラクターを持つことができないと言っています。そして、それは意味がないと言っています。
なぜそれが意味をなさないのか、またはJava 8でデフォルトコンストラクターがサポートされていない理由を誰かが説明できますか?
この質問を読みました。答えは、Java 8 (インターフェースでデフォルトのメソッドを持つことができる場所) でさえ、デフォルトのコンストラクターを持つことができないと言っています。そして、それは意味がないと言っています。
なぜそれが意味をなさないのか、またはJava 8でデフォルトコンストラクターがサポートされていない理由を誰かが説明できますか?
コンストラクターの主な目的は、定義された型のインスタンスを提供することですが、インターフェイスでは意味がありません。インターフェイスの主な目的は、コード内のコンポーネント間のコントラクトを提供することだからです。
デフォルト コンストラクターに関しては、デフォルト メソッドにはロジックがあるため、実際には意味がありません。デフォルト コンストラクターでどのようなロジックを宣言しますか?
何のコンストラクタ?インスタンスを作成するコンストラクターを持つのはクラスだけです。
インターフェイスに、すべてがデフォルトの実装を持つメソッドがある場合、次のようにインスタンスを作成できます。
MyFace obj = new MyFace(){};
2 つの余分な文字をコーディングする必要があることを嘆いているようです{}
。