首頁 > Java > java教程 > 主體

java介面可以繼承嗎?

青灯夜游
發布: 2019-11-18 14:38:58
原創
7527 人瀏覽過

java介面可以繼承嗎?

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中文網其他相關文章!

相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!