一概而,封裝
封裝:保證屬性安全
封裝特點:隱藏實現(xiàn)的細節(jié)呼巷,提供操作的接口
static:靜態(tài)
????????在類被加載時,優(yōu)先加載靜態(tài)修飾的塊赎瑰,方法王悍,屬性
????????靜態(tài)修飾的方法和屬性,稱為類方法和類屬性
????????靜態(tài)方法和靜態(tài)屬性獨立與任何對象乡范,可以直接用類名引用
靜態(tài)屬性:
????????static修飾的屬性稱為類屬性配名,獨立與任何對象
????????沒有被static修飾的屬性稱為實例屬性,每一個實例都有
????????自己特有空間
使用場景:
????????1:在對象之間共享值時
????????2:方便訪問變量時
靜態(tài)方法:
????????static修飾的方法稱為靜態(tài)方法/類方法晋辆,獨立與任何對象
????????可以直接使用類名引用,類名.方法名
概念:
????????在靜態(tài)方法當中不能直接引用非靜態(tài)(實例)屬性和方法
????????在實例方法當中可以直接引用靜態(tài)方法和屬性
在靜態(tài)方法當中如何引用實例方法:
????????1:實例化對象渠脉,使用對象引用
????????2:將實例方法轉(zhuǎn)成靜態(tài)方法
靜態(tài)塊:
????????static{
????????}
特點:
????????1:優(yōu)先執(zhí)行
????????2:執(zhí)行一次
二,繼承
符合is-a關(guān)系
使用extends關(guān)鍵字
代碼復(fù)用
Object::對象
????????1:一個類沒有明確繼承某個類時瓶佳,默認繼承Object
????????2:所有類的父類
修飾符:
類:
????????寫:public
????????不寫: default
方法和屬性:
????????公共的: public? 所有類
????????受保護的::protected? 同包芋膘,同類,不同包的子類
????????默認的::friendly? 同包霸饲, 同類
????????私有的: private? 本類
方法重寫的規(guī)則
????????方法名相同
????????參數(shù)列表相同
????????返回值類型相同或者是其子類
????????訪問權(quán)限不能嚴于父類
????????super關(guān)鍵字來訪問父類的成員
????????super只能出現(xiàn)在子類的方法和構(gòu)造方法中
????????super調(diào)用構(gòu)造方法時为朋,只能是第一句
????????super不能訪向子類的private成員
抽象類和抽象方法
????????抽象類不能被實例化
????????抽象類可以有0~多個抽象方法
????????非抽象子類必須重寫父類的所有抽象方法
final修飾符
????????修飾的類,不能再被繼承
????????修飾的方法厚脉,不能被子類重寫
????????修飾的變量將變成常量习寸,只能在初始化時進行賦值
三,多態(tài)
多種形態(tài)傻工,同樣的功能霞溪,不同的執(zhí)行者,得到不同的結(jié)果
多態(tài)三要素:
????????一中捆、必須要有繼承
????????二鸯匹、必須要有方法重寫
????????三、必須要有向上轉(zhuǎn)型
方法重寫 override:
????????場景:父類方法無法滿足子類需求時泄伪,可將方法重寫殴蓬,方法重寫也稱 方法覆蓋
????????特點:
????????????????1:子類重寫父類的方法
????????????????2:返回值,方法名蟋滴,參數(shù)都一致
????????????????????3:訪問修飾符不能嚴于父類
訪問修飾符:private ->friendly->protected->public
向上轉(zhuǎn)型:
????????場景:父類無法實例化對象時就一定會要使用
????????語法:父類? 父類對象 = new 子類();
????????前期綁定(編譯期):父類? 父類對象染厅;
????????后期綁定(執(zhí)行期):new? 子類();
????????ps:能夠調(diào)用的是父類的方法痘绎,
? ? ? 真正執(zhí)行的是子類的方法
????????instanceof:判斷對象所屬類型,返回布爾值
????????語法:對象 instanceof 類
向下轉(zhuǎn)型:
????????子類 子類對象 = (子類)父類對象;
????????向下轉(zhuǎn)型后肖粮,可以調(diào)用子類特有的方法
方法重寫:子類重寫父類方法简逮,返回值,方法名尿赚,參數(shù)都一致,訪問修飾符不能嚴于父類蕉堰。
方法重載:同一個類凌净,方法名相同,參數(shù)不同(類型屋讶,數(shù)量冰寻,順序)
向上轉(zhuǎn)型:父類的引用指向子類對象
????????父類? 父類對象 =? new 子類();
????????目標:抽象方法,抽象類皿渗,接口
final:最終
????????修飾類:類不能被繼承
????????修飾方法:方法不能被重寫
????????修飾屬性:屬性變成常量
四斩芭,抽象
抽象方法特點:
????????1:使用 abstract 進行修飾
????????2:沒有方法體(沒有方法實現(xiàn))
????????3:抽象方法必須定義在抽象類或者接口當中
????????4:子類必須重寫父類的抽象方法
????????5:不能使用 private,final乐疆,static 關(guān)鍵字
抽象類:
????????1:使用abstract 進行修飾
????????2:抽象類不能被實例化
????????3:抽象類當中有構(gòu)造方法划乖,抽象方法,普通方法
????????4:子類必須重寫父類的抽象方法挤土,如不能實現(xiàn)繼續(xù)抽象
????????5:不能使用 final 關(guān)鍵字
五琴庵,接口
接口: interface
????????類與類之間的關(guān)系:
????????子類-父類:繼承關(guān)系
????????子類-接口:實現(xiàn)關(guān)系
????????類的屬性為另-個的對象:依賴關(guān)系
????????在一個類當中實例化另一個類的對象:關(guān)聯(lián)關(guān)系
實現(xiàn)關(guān)系:
????????類繼承-個父類,實現(xiàn)多個接口仰美,接口
????????可以繼承多個接口迷殿、
????????類-類:單繼承
????????類-接口:多實現(xiàn)
????????接口-接口:多繼承
????????接口當中所有的方法為公共抽象方法
????????接口當中所有的書寫為公共靜態(tài)常量
????????接口和抽象類的異同點:
共同點:
????????1:都有抽象方法
????????2:都不能實例化對象
????????3:派生類都必須重寫抽象方法
不同點:
????????1:繼承父類關(guān)鍵字extends,實現(xiàn)接口的關(guān)鍵字implements
????????2:單繼承,多實現(xiàn)
????????3:抽象類當中有普通方法咖杂,抽象方法庆寺, 接口當中默認公共抽象方法