您好,登錄后才能下訂單哦!
這篇“Java抽象類與接口實例分析”文章的知識點大部分人都不太理解,所以小編給大家總結了以下內容,內容詳細,步驟清晰,具有一定的借鑒價值,希望大家閱讀完這篇文章能有所收獲,下面我們一起來看看這篇“Java抽象類與接口實例分析”文章吧。
我們都知道對象是通過類來進行描述的,但是不是說所有的類都是用來描述對象的
一個類的類中沒有足夠的信息來描述一個具體的對象,這便是抽象類
抽象類的關鍵字:abstract
首先還是看看之前寫過的類:
class Plant { String name; String source; String genus; public void trait() { System.out.println("父類方法"); } } class Tree extends Plant { @Override public void trait() { System.out.println("子類方法"); } }
既然trait方法是重寫的方法,那么父類的trait根本就沒有實現的必要,所以我們可以將其改成抽象方法
注意:抽象類可以沒有抽象方法,但抽象方法必須在抽象類里面
abstract class Plant { String name; String source; String genus; public abstract void trait(); } class Tree extends Plant { @Override public void trait() { System.out.println("子類方法"); } }
1.抽象類是用于被繼承的,所以無法實例化,除這點外它和普通的類沒有區別
2.抽象類里面可以沒有抽象方法,但抽象方法一定要在抽象類中
3.一個普通類繼承抽象類,要重寫抽象類里面所有的抽象方法
4.抽象類可以繼承抽象類,此時不需要重寫抽象方法
5.final無法修飾抽象類和抽象方法
6.抽象方法不能使用private和static修飾
可能會有人覺得奇怪:普通類也可以作為父類被繼承,為什么還要再弄一個抽象類出來?
我們不妨假設一個場景:你在實例化對象的時候實例化了父類對象,如下:
public static void main(String[] args) { Plant tree=new Plant(); tree.trait(); }
如果父類是普通類的話,此時編譯器不會報錯,直接調用父類的方法
如果父類是抽象類,因為抽象類無法被實例化,所以編譯器會直接報錯,這樣問題就能更早被發現
所謂接口就是公共的行為規范準則,比如說A4紙,A4紙的大小是210mm*297mm,那么你就只能按照這個規格來進行生產
在Java中接口就可以看成是多個類的公共規范,是一種引用類型數據
接口關鍵字:interface
接口同樣有一些需要注意的事項:
1.接口也是用來被其它類實現的,同樣不能實例化
2.接口里面的方法只能是抽象方法,默認是public static修飾
3.接口的成員變量默認是靜態常量,所以必須初始化
4.接口被實現所使用的關鍵字為implements,類實現接口依舊要重寫接口中所有的抽象方法
5.接口不能有構造方法和靜態代碼塊
6.接口繼承接口使用extends
7.創建接口時,接口的命名一般以大寫的字母“I”開頭(建議,非硬性要求)
8.接口也可以實現多態
接口在Java中最主要的作用就是實現多繼承
Java中一個類只能繼承一個父類,但它可以實現多個接口
抽象類和接口有相似的地方,不過二者之間最本質的區別就是抽象類可以有普通成員方法和普通成員變量,而接口中的方法只能是抽象方法
抽象類和接口介紹完畢,下一篇會介紹Java中一些比較重要的接口
以上就是關于“Java抽象類與接口實例分析”這篇文章的內容,相信大家都有了一定的了解,希望小編分享的內容對大家有幫助,若想了解更多相關的知識內容,請關注億速云行業資訊頻道。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。