java介面可以繼承嗎?
java介面可以繼承,而且是多繼承,但是只能是介面繼承接口,類別只能實作介面。一個接口可以繼承另一個或多個接口,一個普通類別可以實現多個接口。
介面是常數值和方法定義的集合。介面是一種特殊的抽象類別。
java類別是單繼承的。 classB Extends classA
java介面可以多繼承。 Interface3 Extends Interface0, Interface1, interface……
不允許類別多重繼承的主要原因是,如果A同時繼承B和C,而B和C同時有一個D方法,A如何決定該繼承那一個呢?
但介面不存在這樣的問題,介面全都是抽象方法繼承誰都無所謂,所以介面可以繼承多個介面。
注意:
1)一個類別如果實作了一個接口,則要實作該接口的所有方法。
2)方法的名字、回傳類型、參數必須與介面中完全一致。如果方法的回傳型別不是void,則方法體必須至少有一條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、介面是隱式抽象的,當宣告一個介面的時候,就不必使用abstract關鍵字。
2、介面中每一個方法也是隱式抽象的,宣告時同樣不需要abstract關鍵字。
3、介面中的方法都是公有的。
4、編譯時自動為介面裡定義的方法加入public abstract修飾符
#5、Java介面裡的成員變數只能是public static final共同修飾的,並且必須賦初值,可以不寫public static final,編譯的時候會自動加入。
以上是java介面可以繼承嗎?的詳細內容。更多資訊請關注PHP中文網其他相關文章!