代碼四大特性?
一、抽象父類為子類提供一些屬性和行為,子類根據(jù)業(yè)務(wù)需求實(shí)現(xiàn)具體的行為。
抽象類使用abstract進(jìn)行修飾,子類要實(shí)現(xiàn)所有的父類抽象方法否則子類也是抽象類。
二、封裝
把對象的屬性和行為(方法)結(jié)合為一個(gè)獨(dú)立的整體,并盡可能隱藏對象的內(nèi)部實(shí)現(xiàn)細(xì)節(jié);
在Java中,對于對象的內(nèi)部屬性一般用private來實(shí)現(xiàn)隱藏,并通過set和get方法對外提供訪問接口。
三、繼承
子類繼承父類的屬性和行為,并能根據(jù)自己的需求擴(kuò)展出新的屬性和行為,提高了代碼的可復(fù)用性。
Java的繼承通過extends關(guān)鍵字來實(shí)現(xiàn),實(shí)現(xiàn)繼承的類被稱為子類,被繼承的類稱為父類(有的也稱其為基類、超類),父類和子類的關(guān)系,是一種一般和特殊的關(guān)系;子類擴(kuò)展父類,將可以獲得父類的全部屬性和方法。
overide:
當(dāng)子父類中出現(xiàn)相同方法時(shí),會(huì)先運(yùn)行子類中的方法。
重寫的特點(diǎn):方法名一樣,訪問修飾符權(quán)限不小于父類,返回類型一致,參數(shù)列表一致。
四、多態(tài)
不修改程序代碼就可以改變程序運(yùn)行時(shí)所綁定的具體代碼,讓程序可以選擇多個(gè)運(yùn)行狀態(tài);
具體的實(shí)現(xiàn)方式就是:接口實(shí)現(xiàn),繼承父類進(jìn)行方法重寫,同一個(gè)類中進(jìn)行方法重載。
封裝和繼承都是為Java語言的多態(tài)提供了支撐;多態(tài)存在的三個(gè)必要條件:
要有繼承;
要有重寫;
父類引用指向子類對象。