重載和重寫(xiě)的關(guān)系:

繼承的使用:1.符合is - a關(guān)系,2繼承實(shí)現(xiàn)代碼重用:當(dāng)多個(gè)子類(lèi)擁有共同的屬性時(shí),人為把共同的屬性和方法提取到父類(lèi)中,子類(lèi)繼承父類(lèi)實(shí)現(xiàn)代碼重用。
抽象類(lèi)概念:在繼承過(guò)程中,形成一個(gè)繼承金字塔,位于金字塔底部的類(lèi)越來(lái)越具體,位于塔尖的越來(lái)越抽象。
當(dāng)一個(gè)類(lèi)中的方法過(guò)于抽象時(shí),實(shí)現(xiàn)不確定如何實(shí)現(xiàn),此時(shí)可以把該方法定義成抽象方法,抽象方法所在的類(lèi)過(guò)于抽象,成為抽象類(lèi)。(abstract class)
抽象類(lèi)的特性:1抽象類(lèi)過(guò)于抽象,實(shí)例化后 無(wú)意義=>不能實(shí)例化。2如果一個(gè)方法過(guò)于抽象無(wú)法實(shí)現(xiàn),需要把該方法聲明為抽象方法,抽象方法一定位于抽象類(lèi)中,抽象方法沒(méi)有方法體? ?,抽象類(lèi)中的方法不一定都是抽象方法。子類(lèi)繼承抽象類(lèi),一定要根據(jù)自身情況重寫(xiě)抽象類(lèi)的抽象方法,除非子類(lèi)也是抽象類(lèi)。
重寫(xiě)和實(shí)現(xiàn):重寫(xiě)(override):子類(lèi)繼承父類(lèi)的方法時(shí)不能滿足自身需要時(shí),子類(lèi)重寫(xiě)父類(lèi)的方法名。
? ? ? ? ? ? ? ? ? ? 實(shí)現(xiàn)(implement):子類(lèi)繼承抽象父類(lèi)時(shí),一定要重寫(xiě)父類(lèi)的抽象方法,此時(shí)父類(lèi)的抽象方法沒(méi)沒(méi)有方法體,也沒(méi)有實(shí)現(xiàn),子類(lèi)一定重寫(xiě)父類(lèi)的抽象方法也即實(shí)現(xiàn)了父類(lèi)的抽象方法。
? ? ? ? ? ? ? ? ? ? 實(shí)現(xiàn)是一種特殊的重寫(xiě),實(shí)現(xiàn)建立在重寫(xiě)的繼承上。
final關(guān)鍵字:用于修飾局部變量。屬性,方法和類(lèi)表示最終的意思。
? ? ? ? ? ? ? ? ? ? 1final修飾類(lèi)表示最終類(lèi),無(wú)法被繼承。
? ? ? ? ? ? ? ? ? ? ?2final修飾符方法,方法就不能別重寫(xiě)。
? ? ? ? ? ? ? ? ? ? ? 3fianl修飾屬性,經(jīng)常和static搭配使用,形成靜態(tài)常量。
? ? ? ? ? ? ? ? ? ? 4final修飾基本數(shù)據(jù)類(lèi)型,表示表示數(shù)據(jù)中的值不能被改變。
? ? ? ? ? ? ? ? ? ? 5final修飾引用數(shù)據(jù)類(lèi)型,表示數(shù)據(jù)中的地址不能被改變。
多態(tài)的概念:為多種狀態(tài)/多種形態(tài)。
實(shí)現(xiàn)多態(tài)的步驟:1編寫(xiě)父類(lèi),2編寫(xiě)子類(lèi),子類(lèi)一定要重寫(xiě)/實(shí)現(xiàn)父類(lèi)的方法,3運(yùn)行時(shí),父類(lèi)類(lèi)型引用子類(lèi)對(duì)象
多態(tài)的實(shí)現(xiàn)形式:1父類(lèi)類(lèi)型引用子類(lèi)對(duì)象。2父類(lèi)作為方法形參實(shí)現(xiàn)多態(tài),3父類(lèi)作為方法的返回值實(shí)現(xiàn)多態(tài),
類(lèi)型轉(zhuǎn)換:1自動(dòng)類(lèi)型轉(zhuǎn)換:子類(lèi)可以自動(dòng)轉(zhuǎn)換為父類(lèi)
? ? ? ? ? ? ? ? ????2強(qiáng)制類(lèi)型轉(zhuǎn)換:父類(lèi)可以強(qiáng)制轉(zhuǎn)換為子類(lèi)。需要判斷父類(lèi)對(duì)象的真實(shí)類(lèi)型,用instanceof關(guān)鍵字。如果需要調(diào)用子類(lèi)特有方法時(shí),一定要強(qiáng)制轉(zhuǎn)換類(lèi)型。