面向?qū)ο蟮谌熘R(shí)點(diǎn)總結(jié)

一.多態(tài)?

?? ?前提:

?? ??? ?? ?1.有繼承關(guān)系

?? ??? ?? ?2.有方法的重寫(xiě)

?? ??? ?? ?3.父類(lèi)引用指向子類(lèi)對(duì)象

? ? 調(diào)用關(guān)系:

?? ??? ?? ? 當(dāng)父類(lèi)的引用指向子類(lèi)的對(duì)象時(shí);

?? ??? ??? ?? ? 調(diào)用同名的靜態(tài)變量 --?父類(lèi)

?? ??? ??? ?? ? 調(diào)用同名的靜態(tài)方法 --?父類(lèi)

?? ??? ??? ?? ? 調(diào)用同名的成員變量 --?父類(lèi)

?? ??? ??? ?? ? 調(diào)用同名的成員方法 --?子類(lèi)

?? ??? ??? ?? ? 子類(lèi)獨(dú)有的變量和方法不能被調(diào)用

? ? 二中轉(zhuǎn)型:

?? ?? ? 向上轉(zhuǎn)型:

?? ??? ??? ??? ?? ? Person?p =?new Teacher();

?? ?? ? 向下轉(zhuǎn)型:

?? ??? ??? ??? ?? ? Teacher t = (Teacher)p;

二.抽象類(lèi):

? ? 抽象類(lèi)的格式:

?? ???? ??? ?? ? abstract?修飾符?返回值?方法名 (參數(shù)列表);

抽象類(lèi):用abstract修飾的類(lèi)叫做抽象類(lèi);

?? ??? ??? ?? ? 1.抽象類(lèi)中可以沒(méi)有抽象方法,有抽象方法的類(lèi)一定是抽象類(lèi);

?? ??? ??? ?? ? 2.抽象類(lèi)不能創(chuàng)建對(duì)象,需要使用子類(lèi)的向上轉(zhuǎn)型

?? ??? ??? ?? ? 3.抽象類(lèi)不能使用final修飾

?? ??? ??? ?? ? 4.抽象類(lèi)中既可以定義常量?也可以定義變量

?? ??? ??? ?? ? 5.抽象類(lèi)的子類(lèi)要么實(shí)現(xiàn)抽象類(lèi)所有的抽象方法,要么本身就是一個(gè)抽象類(lèi)

?? ??? ??? ?? ? 6.抽象類(lèi)中有構(gòu)造方法

三.接口:interface

?? ?? ?定義格式:

?? ??? ??? ??? ?? ? Interface?接口名 {}

?? ?? ? 特點(diǎn):

?? ??? ??? ?? ? 1.接口中的所有方法都是抽象方法(JDK1.8以前),默認(rèn)都有public?abstract修飾

?? ??? ??? ??? ?2.接口中只能定義常量?默認(rèn)有?public?static?final修飾

?? ??? ??? ?? ? 3.接口本身不能創(chuàng)建對(duì)象?需要使用子類(lèi)的向上轉(zhuǎn)型

?? ??? ??? ??? ??? ?? ? 接口的子類(lèi):使用implements實(shí)現(xiàn)類(lèi)接口的類(lèi)

?? ??? ??? ?? ? 4.一個(gè)類(lèi)可以實(shí)現(xiàn)多個(gè)接口

?? ??? ??? ?? ? 5.接口的子類(lèi)要么實(shí)現(xiàn)了接口中多有的抽象方法?要么本身是一個(gè)抽象類(lèi)

?? ??? ??? ?? ? 6.接口沒(méi)有構(gòu)造方法

?? ??? ??? ?? ? 7.接口只能繼承接口?不能實(shí)現(xiàn)接口?接口支持多繼承

?? ??? ??? ?? ? 8.JDK1.8以后接口中可以定義實(shí)現(xiàn)類(lèi)?但必須要有?static?或者?default修飾

?? ??? ??? ?? ? 9.一個(gè)類(lèi)可以同時(shí)繼承一個(gè)類(lèi)?實(shí)現(xiàn)多個(gè)接口

四.抽象類(lèi)和接口的區(qū)別

?? ??? ??? ?? ? 1.一個(gè)類(lèi)最多只能繼承一個(gè)抽象類(lèi)?但可以實(shí)現(xiàn)多個(gè)接口

?? ??? ??? ?? ? 2.抽象類(lèi)中可以有非抽象方法,接口中都是抽象方法(JDK1.8之前)默認(rèn)有public?abstract修飾

?? ??? ??? ?? ? 3.抽象類(lèi)中既可以定義常量?也可以定義變量?接口中只能定義常量?默認(rèn)有public?static?final修飾

?? ??? ??? ?? ? 4.接口只能繼承接口不能實(shí)現(xiàn)接口?并可以多繼承

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容