一拢切、繼承:
(1)當(dāng)我們要定義一個(gè)類時(shí),發(fā)現(xiàn)已經(jīng)有一個(gè)相似的類秆吵,或者是已有類的一種時(shí)淮椰,那么我們就將這個(gè)類定義為已有類的子類,繼承父類的非私有的屬性和功能;
(2)當(dāng)多個(gè)類有共同的屬性和功能時(shí)主穗,我們可以把他們共同的地方抽取成一個(gè)新類泻拦,新的類和原來(lái)的類產(chǎn)生的關(guān)系叫做繼承。
二忽媒、方法重寫(xiě):
當(dāng)子類出現(xiàn)與父類方法(名稱争拐、返回值類型、參數(shù)列表)都一致時(shí)晦雨,會(huì)出現(xiàn)子類覆蓋父類的效果架曹。
方法重寫(xiě)的注意事項(xiàng)
? 1.可以使用@Override來(lái)驗(yàn)證是否是方法重寫(xiě)
? 2.子類方法的訪問(wèn)權(quán)限要大于等于父類方法的訪問(wèn)權(quán)限
? ? ? public >默認(rèn)
? 3.子類方法覆蓋父類方法,返回值類型闹瞧、函數(shù)名和參數(shù)列表都要一模一樣绑雄。
? 4.私有方法不能被重寫(xiě)(父類私有成員子類是不能繼承的)
三、繼承的特點(diǎn):
1.只支持單繼承 不支持多繼承(接口與接口支持多繼承)支持多層繼承
2.所有的類都有父類 每個(gè)類都默認(rèn)繼承自O(shè)bject類 Object類沒(méi)有父類
四奥邮、this和super:
this調(diào)用本類構(gòu)造方法万牺,super調(diào)用父類構(gòu)造方法。
必須寫(xiě)在構(gòu)造方法的第一行洽腺。
五杏愤、抽象的定義:
如果一個(gè)方法只有方法聲明,沒(méi)有方法主體已脓,我們叫做抽象方法;
有抽象方法的類通殃,就是抽象類度液。
注意事項(xiàng):
1.抽象類不能創(chuàng)建對(duì)象;
2.抽象類必須要有構(gòu)造方法画舌,要給子類創(chuàng)建對(duì)象的時(shí)候使用堕担;
3.抽象類不一定有抽象方法,可以有具體方法曲聂,但有抽象方法一定是抽象類霹购;
4.有子類繼承,必須重寫(xiě)所有的抽象方法朋腋。
六齐疙、權(quán)限修飾符:
public:同一類中、同一包中(子類和無(wú)關(guān)類)旭咽、不同包中(子類和無(wú)關(guān)類)
protected:同一類中贞奋、同一包中(子類和無(wú)關(guān)類)、不同包中(子類)? ? ? ? ? ? ? ? ? //不能修飾類
默認(rèn)(空的):同一類中穷绵、同一個(gè)包(子類和無(wú)關(guān)類)
private:同一類中? ? ? ? //不能修飾類
七轿塔、final:
final修飾類 不能被繼承
final修飾方法 不能被重寫(xiě)
final修飾變量 只能賦值一次 不能2次賦值
八、多態(tài):
同一行為,不同表現(xiàn)形式勾缭。
(1)前提:繼承或者實(shí)現(xiàn)揍障;
(2)方法重寫(xiě);
(3)父類引用指向子類對(duì)象俩由。
九毒嫡、多態(tài)訪問(wèn)特點(diǎn):
成員變量
編譯看父類,運(yùn)行看父類
成員方法
編譯看父類采驻,運(yùn)行看子類(不能調(diào)用子類私有方法)
十审胚、接口:
一種引用類型,方法的集合礼旅。
十一膳叨、接口的特點(diǎn):
1.接口不能創(chuàng)建對(duì)象
2.定義實(shí)現(xiàn)類(子類)實(shí)現(xiàn)接口
public class 實(shí)現(xiàn)類 implements 接口{
}
3.實(shí)現(xiàn)類重寫(xiě)接口中所有抽象方法
4.創(chuàng)建實(shí)現(xiàn)類對(duì)象 調(diào)用方法
十二、接口的成員特點(diǎn):
成員變量------>常量(默認(rèn)使用public static final修飾痘系。)
成員方法--------->抽象方法(默認(rèn)修飾符public abstract)
接口沒(méi)有構(gòu)造方法
十三菲嘴、抽象類和接口:
(1)接口和抽象類都不能創(chuàng)建對(duì)象,必須有子類或者實(shí)現(xiàn)類來(lái)繼承和實(shí)現(xiàn)汰翠,而且必須重寫(xiě)所有的抽象方法龄坪;
(2)抽象類有構(gòu)造方法,接口沒(méi)有复唤。
(3)抽象類可以有非抽象方法健田,接口默認(rèn)都是抽象方法。