91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Java抽象類怎么掌握

發布時間:2022-09-23 15:45:28 來源:億速云 閱讀:114 作者:iii 欄目:開發技術

本文小編為大家詳細介紹“Java抽象類怎么掌握”,內容詳細,步驟清晰,細節處理妥當,希望這篇“Java抽象類怎么掌握”文章能幫助大家解決疑惑,下面跟著小編的思路慢慢深入,一起來學習新知識吧。

抽象類

1.引出抽象類

向上轉型帶來的最大的好處就是參數統一化,使用共同的父類引用,就可以接收所有的子類實例。

Java抽象類怎么掌握

多態非常依賴方法覆寫,但是子類可以選擇性的覆寫父類的方法,若需要強制要求子類覆寫方法,就會用到抽象類
其實顯示生活中就有很多的抽象類,這些類都是概念化的,沒法具體到某個實例,但是能描述這一類對象的共同屬性和方法,比如人類,就沒法具體到某一類人,世界上有很多類人,中國人,美國人等等,這很多類人,具有的屬性和方法都大致相同,但是都沒辦法具化,所以人類就是一個抽象類

2.認識抽象類

概念:

抽象類:使用abstract聲明的類,抽象類是普通類的“超集”,普通類有的,抽象類都有,只是多了一些抽象方法而已,抽象方法所在的類必須是抽象類,子類若繼承了一個抽象類,就必須覆寫父類的所有抽象方法,這里的子類是普通類,是強制要求覆寫所有抽象方法,但是如果子類也是一個抽象類,那么就可以不覆寫。

abstract關鍵字

在Java中,定義一個抽象方法或者抽象類使用abstract關鍵字
1.抽象方法所在的類必須使用abstract聲明為抽在哪個類。
抽象方法是指使用abstract聲明,只有函數聲明,沒有方法體(“{ }”)的方法

Java抽象類怎么掌握

但是如果說,在Java中,沒有方法體的方法就是抽象方法,這就是錯誤的,因為在在Java中本地方法native()也沒有方法體,但是不是抽象方法

Java抽象類怎么掌握

本地方法,不是抽象方法,這個方法由JVM實現,而JVM是由c++寫的,本地方法就是指調用了c++中的同名方法。
2.若一個類使用了abstract聲明為抽象類,無法直接通過該類產生對象,哪怕該類中一個抽象方法都沒有當一個類是抽象類,不管有沒有抽象方法,這個類本身就是一個抽象的概念,無法具體到某個特定的實例的,只能通過子類向上轉型變為抽象父類的引用

Java抽象類怎么掌握

人類抽象:

Person per = new Person();//error
Person per = new China(); //OK

在IDEA中抽象類和普通類的圖標也是不一樣的:

Java抽象類怎么掌握

3.子類繼承了抽象類,就必須強制子類覆寫抽象類中的所有抽象方法(子類是抽象類除外),也滿足單繼承局限,一個子類只能繼承一個抽象類

Java抽象類怎么掌握

如果B覆寫了A的抽象方法,那么C就可以不用再覆寫A的抽象方法;如果B沒有覆寫A的抽象方法,那么C就要覆寫A和B 的所有抽象方法。

4.抽象類是普通類的超集(普通類有的內容,抽象類全都有),只是比普通類多了一些抽象方法而已,抽

象類雖然無法直接實例化對象,但是也可以存在構造方法,子類在實例化對象時,也是默認先調用父類(抽象類)的構造方法,而后調用子類的構造方法

Java抽象類怎么掌握

若一個需求既可以使用抽象類,也可以使用接口,我們優先選擇接口,因為抽象類仍然時單繼承局限,而一個類可以實現多個接口

接口

1.抽象類和接口的區別

1.抽象類:抽象類沒辦法直接實例化對象,但是子類仍然滿足is a 原則,子類和抽象父類之間仍然滿足“繼承樹”的關系
Person 對于 China
Sharp 對于Cycle
這樣只有滿足了繼承樹的關系才能使用抽象類,這樣有局限性,而且抽象類有單繼承局限,一個子類只能繼承一個抽象父類
2.接口:接口中只有抽象方法和全局常量,其他東西統統沒有,這是一個比抽象類更加純粹的抽象概念,實現接口時,是一個混合的關系,不用滿足is a關系,只要子類具備這種能力或者行為就可以繼承該接口,一個子類可以繼承多個接口

2.認識接口

概念:

接口使用關鍵字interface聲明,子類使用implements實現接口,接口中只有抽象方法和全局常量,其他的統統沒有,普通方法和構造方法等等,在接口里全部都沒有

接口表示的場景:

一般來說,接口的使用表示兩種場景
1.接口表示具備某種能力/行為,子類實現接口時,不是is a 關系,而是具備這種行為或者能力
“游泳” – > 能力或者行為
Person滿足游泳接口
Dog 也滿足游泳接口
Duck也滿足游泳接口
2.接口表示一種規范或者標準,“USB接口”,5G標準

3.具體實現

USB接口

使用interface聲明一個USB接口,USB接口表示一種規范,只要滿足USB接口這個規范都可以實現這個接口,鼠標,鍵盤,攝像頭,打印機,這些都滿足USB接口的規范(都有USB插口)

Java抽象類怎么掌握

子類使用implements實現接口,必須覆寫所有的抽象方法

Java抽象類怎么掌握

而電腦這個類不是USB接口的子類,電腦叫做USB規范的使用者,所有帶有USB線插入到電腦的設備都應該滿足USB的規范

Java抽象類怎么掌握

對于電腦的生產者來說,根本不需要關心到底哪個具體的設備插入到電腦中,只要這個設備滿足了USB接口,就能夠被電腦識別,就可以實現一個接口可以接收無數種設備,只要這個設備滿足USB接口,都可以插入到電腦且被電腦識別。
如果fun(Mouse mouse) — > 這個插口只能識別鼠標,其他設備都識別不了,那么電腦想接收其他設備,電腦上就得有該設備獨有插口,很多種設備,那電腦上就全是接口了,所有這就是接口表示一種規范的帶來的方便,只需要一個插口,只要滿足USB插口的規范,就可以被電腦接收識別

Java抽象類怎么掌握

此時不管擴展多少個設備,fun方法一行代碼都不會變
開閉原則:程序對擴展開放,對修改關閉,這是所有設計模式的核心思想

接口表示能力

接口允許多實現,一個類可以具備多種能力,同時實現多個父接口,若子類是普通類,需要覆寫所有的抽象方法

Java抽象類怎么掌握

子類同時實現多個父接口,中間使用“ , ”分隔

Java抽象類怎么掌握

由于接口中只有抽象方法和全局常量,所以接口中
public abstract – >抽象方法
sattic final – >常量
這些關鍵字全都可以省略不寫,只用保留最核心的方法返回值,方法參數列表,方法名稱即可

Java抽象類怎么掌握

讀到這里,這篇“Java抽象類怎么掌握”文章已經介紹完畢,想要掌握這篇文章的知識點還需要大家自己動手實踐使用過才能領會,如果想了解更多相關內容的文章,歡迎關注億速云行業資訊頻道。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

马关县| 邹平县| 邓州市| 榆林市| 汝阳县| 福建省| 汶上县| 莲花县| 颍上县| 滕州市| 娱乐| 万盛区| 阆中市| 堆龙德庆县| 莎车县| 聂拉木县| 亳州市| 西畴县| 营口市| 龙州县| 甘肃省| 漳州市| 谢通门县| 台东县| 奉贤区| 通许县| 湖北省| 益阳市| 鲁山县| 德化县| 乌海市| 务川| 隆子县| 廉江市| 江山市| 长治县| 元江| 高密市| 常熟市| 双流县| 阳曲县|