JAVA回顧:封裝,繼承,多態(tài)
知識(shí)點(diǎn)回顧
封裝

封裝(有時(shí)稱為數(shù)據(jù)隱藏)是與對(duì)象有關(guān)的一個(gè)重要概念。從形式上來(lái)看,封裝不過(guò)是將數(shù)據(jù)和行為組合在一個(gè)包中,并對(duì)對(duì)象的使用者隱藏了數(shù)據(jù)的實(shí)現(xiàn)方式。對(duì)象中的數(shù)據(jù)稱為實(shí)例域,操作數(shù)據(jù)的過(guò)程稱為方法。對(duì)于每個(gè)特定的類實(shí)例(對(duì)象)都有一組特定的實(shí)例域值。這些值的集合就是這個(gè)對(duì)象的當(dāng)前狀態(tài)。無(wú)論何時(shí),只要向?qū)ο蟀l(fā)送一個(gè)消息,它的狀態(tài)就有可能改變。
實(shí)現(xiàn)封裝的關(guān)鍵在于絕對(duì)不能讓類中的方法直接地訪問(wèn)其他類的實(shí)例域。程序僅通過(guò)對(duì)象的方法與對(duì)象數(shù)據(jù)進(jìn)行交互。封裝給了黑盒特征,這是提高重用性和可靠性的關(guān)鍵。這意為著一個(gè)類可以全面地改變存儲(chǔ)數(shù)據(jù)的方式,只要依舊使用同樣的方法操作數(shù)據(jù),其他對(duì)象就不會(huì)知道或介意所發(fā)生的變化。----《Java 核心 卷I》
提高程序的安全性,保護(hù)數(shù)據(jù)
隱藏代碼的實(shí)現(xiàn)細(xì)節(jié)
統(tǒng)一接口
系統(tǒng)可維護(hù)增加了
繼承

子類繼承了父類,就會(huì)擁有父類的全部方法
私有的東西無(wú)法被繼承
調(diào)用父類的構(gòu)造器,必須要在子類構(gòu)造器的第一行
super注意點(diǎn):
- super調(diào)用父類的構(gòu)造方法,必須在構(gòu)造方法的第一個(gè)
- super必須只能出現(xiàn)在子類的方法或者構(gòu)造方法中!
- super和this不能同時(shí)調(diào)用構(gòu)造方法
Vs this:
代表的對(duì)象不同:
- this:調(diào)用本身這個(gè)對(duì)象
- super:代表父類對(duì)象的引用
前提:
- this: 沒(méi)有繼承也可以使用
- super: 只能在繼承條件才可以使用
構(gòu)造方法
- this(): 本類的構(gòu)造方法
- super():父類的構(gòu)造
重寫(xiě)都是方法的重寫(xiě),和屬性無(wú)關(guān)
方法的調(diào)用只和左邊,和定義的數(shù)據(jù)類型有關(guān)
重寫(xiě)只和非靜態(tài)方法有關(guān)

多態(tài)

一個(gè)對(duì)象的實(shí)際類型是確定的
可以指向的引用類型就不是確定的: 比如可以父類的引用指向子類, Object類指向子類
子類重寫(xiě)了父類的方法,就執(zhí)行子類的方法
子類可以調(diào)用的方法是自己的或者繼承父類的, 父類可以指向子類,但是不能調(diào)用子類獨(dú)有的方法
高類型轉(zhuǎn)低類型要強(qiáng)轉(zhuǎn)

總結(jié)
本篇文章就到這里了,希望能給你帶來(lái)幫助,也希望您能夠多多關(guān)注腳本之家的更多內(nèi)容!
相關(guān)文章
Java concurrency集合之ConcurrentHashMap_動(dòng)力節(jié)點(diǎn)Java學(xué)院整理
這篇文章主要介紹了Java concurrency集合之ConcurrentHashMap的相關(guān)資料,需要的朋友可以參考下2017-06-06
如何修改json字符串中某個(gè)key對(duì)應(yīng)的value值
這篇文章主要介紹了如何修改json字符串中某個(gè)key對(duì)應(yīng)的value值操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2020-11-11
Java實(shí)現(xiàn)注冊(cè)登錄跳轉(zhuǎn)
這篇文章主要為大家詳細(xì)介紹了Java實(shí)現(xiàn)注冊(cè)登錄跳轉(zhuǎn),文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2022-06-06
通過(guò)實(shí)例深入學(xué)習(xí)Java的Struts框架中的OGNL表達(dá)式使用
這篇文章主要通過(guò)實(shí)例介紹了Java的Strus框架中的OGNL表達(dá)式使用,Struts框架是Java的SSH三大web開(kāi)發(fā)框架之一,需要的朋友可以參考下2015-11-11
IDEA下創(chuàng)建SpringBoot+MyBatis+MySql項(xiàng)目實(shí)現(xiàn)動(dòng)態(tài)登錄與注冊(cè)功能
這篇文章主要介紹了IDEA下創(chuàng)建SpringBoot+MyBatis+MySql項(xiàng)目實(shí)現(xiàn)動(dòng)態(tài)登錄與注冊(cè)功能,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2021-02-02
SpringBoot使用freemarker導(dǎo)出word文件方法詳解
這篇文章主要介紹了SpringBoot使用freemarker導(dǎo)出word文件方法,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)吧2022-11-11
Mac Book中Java環(huán)境變量設(shè)置的方法
本文給大家介紹mac book 中設(shè)置java環(huán)境變量的方法,非常不錯(cuò),具有參考借鑒價(jià)值,需要的朋友參考下2017-04-04
Maven 倉(cāng)庫(kù)國(guó)內(nèi)鏡像源收藏(小結(jié))
這篇文章主要介紹了Maven 倉(cāng)庫(kù)國(guó)內(nèi)鏡像源收藏(小結(jié)),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2020-12-12

