ホームページ >Java >&#&チュートリアル >Javaインターフェースは継承できますか?
#Java インターフェイスは継承できますか?
Java インターフェースは継承可能であり、多重継承ですが、インターフェースを継承できるのはインターフェースのみであり、クラスはインターフェースを実装することしかできません。インターフェイスは別のインターフェイスまたは複数のインターフェイスを継承でき、共通クラスは複数のインターフェイスを実装できます。
インターフェイスは、定数値とメソッド定義の集合です。インターフェイスは特別な種類の抽象クラスです。
Java クラスは単一継承です。 classB classA
java インターフェイスを複数のソースから継承できるように拡張します。 Interface3 は Interface0、Interface1、interface を拡張します……
クラスの多重継承が許可されない主な理由は、A が B と C を同時に継承し、B と C が D メソッドを持っている場合です。同時に、Aさんはその方法をどうやって決めるのか、どちらを継承するのか。
しかし、インターフェイスにはそのような問題はなく、インターフェイスはすべて抽象メソッドであり、誰が継承するかは問題ではないため、インターフェイスは複数のインターフェイスを継承できます。
注:
1) クラスがインターフェイスを実装する場合、そのインターフェイスのすべてのメソッドを実装する必要があります。
2) メソッドの名前、戻り値の型、およびパラメーターは、インターフェイスのものとまったく同じである必要があります。メソッドの戻り値の型が void でない場合、メソッド本体には少なくとも 1 つの return ステートメントが必要です。
3) インターフェイス メソッドはデフォルトで public 型であるため、実装時に public に変更する必要があります (そうしないと、デフォルトで protected 型になり、メソッドの使用範囲が狭まります)。
例:
interface A{ void a1(); } interface B{ void b1(); } interface C extends A,B{//注意该语法只对接口的继承是合法的 void c1(); } class D implements C{ @Override public void a1() {} @Override public void b1() {} @Override public void c1() {} }
インターフェイスの特性:
1. インターフェイスは暗黙的に抽象です。インターフェイスを宣言するとき、抽象キーの文字。
2. インターフェイス内の各メソッドも暗黙的に抽象であるため、宣言時に abstract キーワードも必要ありません。
3. インターフェイス内のすべてのメソッドはパブリックです。
4. コンパイル時、public abstract 修飾子は、インターフェースで定義されたメソッドに自動的に追加されます。
5. Java インターフェースのメンバー変数は、public static Final と共同でのみ変更できます。値は、コンパイル中に自動的に追加されるため、public static Final を記述する必要はありません。
以上がJavaインターフェースは継承できますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。