インターフェイスがJavaで別のインターフェイスを実装できないのはなぜですか?
インターフェイスはJavaで別のインターフェイスを実装できません。
- Javaのインターフェースは、本質的に特別な種類のクラスです。クラスと同様に、インターフェースにはメソッドと変数が含まれています。クラスとは異なり、インターフェースは常に完全に抽象的です。
- インターフェースは、キーワード interface を除いて、クラスと同じように定義されます。 クラスの代わりに、インターフェースで宣言される変数は静的 および最終 インターフェースで定義されているメソッドはパブリックアブストラクトです メソッド。
- インターフェースは拡張できます 任意の数のインターフェースが1つのインターフェースを実装できません 別のインターフェース。インターフェースが実装されている場合は、そのメソッドを定義する必要があり、インターフェースにはメソッドの定義がないためです。
- 別のインターフェースでインターフェースを実装しようとすると、Javaでコンパイル時エラーがスローされます。
例
interface MainInterface { void mainMethod(); } interface SubInterface extends MainInterface { // If we put implements keyword in place of extends, // compiler throws an error. void subMethod(); } class MainClass implements MainInterface { public void mainMethod() { System.out.println("Main Interface Method"); } public void subMethod() { System.out.println("Sub Interface Method"); } } public class Test { public static void main(String args[]) { MainClass main = new MainClass(); main.mainMethod(); main.subMethod(); } }
出力
Main Interface Method Sub Interface Method
-
Javaのインターフェース
インターフェースはJavaの参照型です。クラスに似ています。これは、抽象的なメソッドのコレクションです。クラスはインターフェースを実装し、それによってインターフェースの抽象メソッドを継承します。 インターフェイスには、抽象メソッドに加えて、定数、デフォルトメソッド、静的メソッド、およびネストされた型も含まれる場合があります。メソッド本体は、デフォルトのメソッドと静的メソッドにのみ存在します。 インターフェイスの作成は、クラスの作成に似ています。ただし、クラスはオブジェクトの属性と動作を記述します。また、インターフェースには、クラスが実装する動作が含まれています。 インターフェイスを実装す
-
コンストラクターがJavaでfinalになれない理由
finalキーワードは、メソッドがオーバーライドされるのを防ぎます。コンストラクターをオーバーライドすることはできません。Javaではコンストラクターをfinalとしてマークすることはできません。