封裝性
1.高內(nèi)聚,低耦合:
高內(nèi)聚:類(lèi)內(nèi)部數(shù)據(jù)操作細(xì)節(jié)不允許外部干涉
低耦合:對(duì)外暴露少量的方法
2.修飾類(lèi):只能使用public和缺省
構(gòu)造器(或構(gòu)造方法):創(chuàng)建對(duì)象新啼、初始化對(duì)象屬性
1.沒(méi)有顯示定義類(lèi)的構(gòu)造器不皆,則系統(tǒng)默認(rèn)提供一個(gè)空參構(gòu)造器
2.一個(gè)類(lèi)中的多個(gè)構(gòu)造器彼此構(gòu)成重載
3.顯示定義類(lèi)的構(gòu)造器后宁仔,系統(tǒng)就不再提供默認(rèn)的空參構(gòu)造器
4.一個(gè)類(lèi)中留潦,至少一個(gè)構(gòu)造器
屬性賦值的先后順序(123只執(zhí)行一次飘言,4可以反復(fù)執(zhí)行)
1.默認(rèn)初始化
2.顯示初始化
3.構(gòu)造器中初始化
4.通過(guò)“對(duì)象.方法”或“對(duì)象.屬性”的方式賦值
this
1.修飾:屬性衣形、方法、構(gòu)造器
2.表示當(dāng)前對(duì)象:在類(lèi)方法中姿鸿,可以使用“this.屬性”或“this.方法”調(diào)用當(dāng)前對(duì)象的屬性和方法谆吴;通常情況下this省略,當(dāng)出現(xiàn)方法形參和類(lèi)屬性重名時(shí)苛预,必須顯示引用“this.變量”句狼,表明此變量是屬性而非形參
繼承性
Java只支持單繼承和多層繼承
重寫(xiě)
對(duì)子類(lèi)從父類(lèi)繼承過(guò)來(lái)的方法進(jìn)行改造,也稱(chēng)為重置热某、覆蓋
1.子類(lèi)權(quán)限可以大于父類(lèi)腻菇,但子類(lèi)不能重寫(xiě)父類(lèi)的private方法
2.重寫(xiě)的方法是同名同參
3.父類(lèi)返回值是void,子類(lèi)也是void苫拍;父類(lèi)是基本數(shù)據(jù)類(lèi)型芜繁,子類(lèi)也必須是相同的基本數(shù)據(jù)類(lèi)型;父類(lèi)是A類(lèi)型绒极,子類(lèi)可以A類(lèi)型或A類(lèi)型的子類(lèi)
4.子類(lèi)拋出的異常不大于父類(lèi)的異常
5.子父類(lèi)中的同名同參方法要么都聲明為非static(考慮重寫(xiě))骏令;要么都為static(不是重寫(xiě),因?yàn)閟tatic方法是屬于類(lèi)的)
super關(guān)鍵字
1.父類(lèi)的
2.調(diào)用屬性和方法:當(dāng)子類(lèi)重寫(xiě)父類(lèi)的方法后垄提,要在子類(lèi)中調(diào)用父類(lèi)中被重寫(xiě)的方法榔袋,必須使用“super.方法”
3.調(diào)用構(gòu)造器:super必須在子類(lèi)構(gòu)造器首行;類(lèi)的構(gòu)造器中铡俐,this和super只能選一個(gè)
子類(lèi)對(duì)象實(shí)例化過(guò)程
1.從結(jié)果看:繼承性
子類(lèi)繼承父類(lèi)后凰兑,就獲取了父類(lèi)中聲明的屬性或方法;創(chuàng)建子類(lèi)的對(duì)象审丘,在堆空間中吏够,就會(huì)加載所有父類(lèi)中聲明的屬性
2.從過(guò)程看:
子類(lèi)構(gòu)造器創(chuàng)建子類(lèi)對(duì)象時(shí),會(huì)加載完所有父類(lèi)結(jié)構(gòu),但自始自終都只是創(chuàng)建了一個(gè)new的子類(lèi)對(duì)象锅知。
多態(tài)性
1.一個(gè)事物的多種形態(tài)
2.對(duì)象的多態(tài)性播急,即父類(lèi)的引用指向子類(lèi)的對(duì)象(或子類(lèi)的對(duì)象賦給父類(lèi))
3.多態(tài)的使用,編譯期售睹,只能調(diào)用父類(lèi)中聲明的方法桩警,但運(yùn)行時(shí),實(shí)際執(zhí)行的是子類(lèi)重寫(xiě)父類(lèi)的方法(編譯看左昌妹,運(yùn)行看右)
4.使用前提:類(lèi)的繼承關(guān)系捶枢;方法的重寫(xiě)
5.多態(tài)性只適用于方法,不適用于屬性(編譯運(yùn)行都看左邊)
重載是靜態(tài)綁定(方法調(diào)用之前飞崖,就已經(jīng)確定要調(diào)用的方法)烂叔,重寫(xiě)是動(dòng)態(tài)綁定(方法調(diào)用時(shí)才會(huì)確定要調(diào)用的具體方法)
向下轉(zhuǎn)型:使用強(qiáng)制類(lèi)型轉(zhuǎn)換符
1.使用強(qiáng)轉(zhuǎn)時(shí),可能出現(xiàn)ClassCastException異常固歪,使用instanceof關(guān)鍵字长已,判斷對(duì)象是否相同,返回true昼牛,則向下轉(zhuǎn)型
2.若a instanceof A為true,則a instanceof B也為true康聂;其中B是A的父類(lèi)
instanceof 嚴(yán)格來(lái)說(shuō)是Java中的一個(gè)雙目運(yùn)算符贰健,用來(lái)測(cè)試一個(gè)對(duì)象是否為一個(gè)類(lèi)的實(shí)例