首頁 > Java > Java入門 > 主體

Java 抽象類別與介面的差別是什麼?

Guanhui
發布: 2020-06-08 14:41:11
原創
2230 人瀏覽過

Java 抽象類別與介面的差別是什麼?

Java 抽象類別與介面的差異是什麼?

抽象類別:在Java中被abstract關鍵字修飾的類別稱為抽象類,被abstract關鍵字修飾的方法稱為抽象方法,抽象方法只有方法的聲明,沒有方法體。抽象類別的特點:

1、抽象類別不能被實例化只能被繼承;

2、包含抽象方法的一定是抽象類,但是抽象類別不一定含有抽象方法;

3、抽象類別中的抽象方法的修飾符只能為public或protected,預設為public;

4、一個子類別繼承一個抽象類,則子類別必須實作父類別抽象方法,否則子類別也必須定義為抽象類別;

5、抽象類別可以包含屬性、方法、建構方法,但是建構方法不能用於實例化,主要用途是被子類別呼叫。

介面:Java中介面使用interface關鍵字修飾,特點為:

1、介面可以包含變數、方法;變數被隱士指定為public static final,方法被隱士指定為public abstract(JDK1.8之前);

2、介面支援多重繼承,即一個介面可以extends多個接口,間接的解決了Java中類別的單繼承問題;

3、一個類別可以實作多個介面;

4、JDK1.8中對介面增加了新的特性:

  • 預設方法(default method):JDK 1.8允許給介面添加非抽象的方法實現,但必須使用default關鍵字修飾;定義了default的方法可以不被實現子類別所實現,但只能被實現子類別的物件呼叫;如果子類別實作了多個接口,並且這些介麵包含相同的預設方法,則子類別必須重寫預設方法;

  • 靜態方法(static method):JDK 1.8中允許使用static關鍵字修飾一個方法,並提供實現,稱為介面靜態方法。介面靜態方法只能透過介面呼叫(介面名.靜態方法名)。

推薦教學:《PHP教學

#

以上是Java 抽象類別與介面的差別是什麼?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

相關標籤:
php
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板