抽象類別:
一個類別中有抽象方法,這個類別就變成了抽象類別。
抽象類別中class的前面必須有abstract
修飾符。
抽象類別中可以有普通方法,也可以有抽象方法,而抽象方法的數量可以是0個,也可以是多個。
子類別繼承父類,必須重寫全部的抽象方法,除非這個類別也變成了抽象類別。
免費線上學習影片推薦:java線上學習
介面:
表面上看,介面是一種特殊的抽象類,但是類別是類,介面是接口,是並列的關係。
介面中所有方法都必須是抽象的。 (1.8之後允許介面定義非抽象方法)
介面中方法定義預設為public abstract
類型,成員變數預設為public static final
類型。 (如果省略,系統會預設補全)。
抽象類別和普通類別的區別:
包含抽象方法的類別稱為抽象類別,但並不意味著在抽象類別中只能有抽象方法,和普通類別一樣,同樣可以擁有成員變數和普通的成員方法。
抽象類別和普通類別的差異如下:
抽象方法的存取修飾符必須為public
和protected
。
抽象類別不能被實例化。
如果一個類別繼承於抽象類,則子類別必須實作父類別的抽象方法,如果子類別沒有實作父類別的抽象方法,則子類別必須也一個抽象類別。
抽象類別和介面的區別:
一個類別只能繼承一個抽象類,而一個類別可以實作多個介面。
抽象類別可以有建構方法,介面中不能有建構方法。
抽象類別中可以有成員變量,介面中沒有成員變數。 (被final修飾變成了常數)
抽象類別中可以有普通方法,介面中所有方法都必須是抽象的。 (1.8後允許介面定義非抽象方法)
抽象類別中抽象方法的存取類型可以是public
,protected
,但介面中抽象方法的存取類型只能是public
,並且預設為public abstract
(省略則自動預設補全)。
抽象類別中的成員變數可以是各種類型的,而介面中的成員變數只能是public static final
類型的。
抽象類別中可以有靜態程式碼區塊和靜態方法,介面中不能含有靜態程式碼區塊以及靜態方法。
想學習更多相關文章教學請造訪:java語言入門
以上是java中抽象類別與普通類別、介面的區別分別是什麼的詳細內容。更多資訊請關注PHP中文網其他相關文章!

熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

AI Hentai Generator
免費產生 AI 無盡。

熱門文章

熱工具

WebStorm Mac版
好用的JavaScript開發工具

DVWA
Damn Vulnerable Web App (DVWA) 是一個PHP/MySQL的Web應用程序,非常容易受到攻擊。它的主要目標是成為安全專業人員在合法環境中測試自己的技能和工具的輔助工具,幫助Web開發人員更好地理解保護網路應用程式的過程,並幫助教師/學生在課堂環境中教授/學習Web應用程式安全性。 DVWA的目標是透過簡單直接的介面練習一些最常見的Web漏洞,難度各不相同。請注意,該軟體中

SublimeText3 Linux新版
SublimeText3 Linux最新版

Safe Exam Browser
Safe Exam Browser是一個安全的瀏覽器環境,安全地進行線上考試。該軟體將任何電腦變成一個安全的工作站。它控制對任何實用工具的訪問,並防止學生使用未經授權的資源。

MantisBT
Mantis是一個易於部署的基於Web的缺陷追蹤工具,用於幫助產品缺陷追蹤。它需要PHP、MySQL和一個Web伺服器。請查看我們的演示和託管服務。