JAVA學(xué)習(xí)第八天——面向?qū)ο骭final關(guān)鍵字、抽象類和方法、接口、內(nèi)部類

部分代碼轉(zhuǎn)載至馬士兵JAVASE資料。


final關(guān)鍵字

修飾變量:

修飾方法:final修飾方法,那么這個(gè)方法不可以被該類的子類重寫:

修飾類:final修飾類,代表沒(méi)有子類,該類不可以被繼承:一旦一個(gè)類被final修飾,那么里面的方法也沒(méi)有必要用final修飾了(final可以省略不寫)


抽象類和方法

抽象類和抽象方法的關(guān)系:

抽象類中可以定義0-n個(gè)抽象方法。

抽象類作用:

在抽象類中定義抽象方法,目的是為了為子類提供一個(gè)通用的模板,子類可以在模板的基礎(chǔ)上進(jìn)行開(kāi)發(fā),先重寫父類的抽象方法,然后可以擴(kuò)展子類自己的內(nèi)容。抽象類設(shè)計(jì)避免了子類設(shè)計(jì)的隨意性,通過(guò)抽象類,子類的設(shè)計(jì)變得更加嚴(yán)格,進(jìn)行某些程度上的限制。? ?使子類更加的通用。


面試題:

(1)抽象類不能創(chuàng)建對(duì)象,那么抽象類中是否有構(gòu)造器?

抽象類中一定有構(gòu)造器。構(gòu)造器的作用? 給子類初始化對(duì)象的時(shí)候要先super調(diào)用父類的構(gòu)造器。

(2)抽象類是否可以被final修飾?

不能被final修飾,因?yàn)槌橄箢愒O(shè)計(jì)的初衷就是給子類繼承用的。要是被final修飾了這個(gè)抽象類了,就不存在繼承了,就沒(méi)有子類。



接口

接口聲明格式:

[訪問(wèn)修飾符]? interface 接口名? ?[extends? 父接口1,父接口2…]? {
? ? ? ? ?常量定義;? ? ? ?
? ? ? ? ?方法定義;
}

接口的作用是什么?

定義規(guī)則,只是跟抽象類不同地方在哪?它是接口不是類。

接口定義好規(guī)則之后,實(shí)現(xiàn)類負(fù)責(zé)實(shí)現(xiàn)即可。

繼承:子類對(duì)父類的繼承

實(shí)現(xiàn):實(shí)現(xiàn)類對(duì)接口的實(shí)現(xiàn)


多態(tài)的應(yīng)用場(chǎng)合:

(1)父類當(dāng)做方法的形參,傳入具體的子類的對(duì)象

(2)父類當(dāng)做方法的返回值,返回的是具體的子類的對(duì)象

(3)接口當(dāng)做方法的形參,傳入具體的實(shí)現(xiàn)類的對(duì)象

(4)接口當(dāng)做方法的返回值,返回的是具體的實(shí)現(xiàn)類的對(duì)象

【6】接口和抽象類的區(qū)別:





內(nèi)部類

將一個(gè)類定義在另一個(gè)給類里面或者方法里面,這樣的類就被稱為內(nèi)部類。 內(nèi)部類可以分為四種:成員內(nèi)部類、局部?jī)?nèi)部類、匿名內(nèi)部類、靜態(tài)內(nèi)部類,下面我們逐一介紹這四種內(nèi)部類。?

成員內(nèi)部類



成員內(nèi)部類的訪問(wèn)權(quán)限

成員內(nèi)部類前可加上四種訪問(wèn)修飾符。

private:僅外部類可訪問(wèn)。

protected:同包下或繼承類可訪問(wèn)。

default:同包下可訪問(wèn)。

public:所有類可訪問(wèn)。


內(nèi)部類資料

轉(zhuǎn)載于?https://www.cnblogs.com/dearcabbage/p/10609838.html

作者:一笑風(fēng)生?? 如有侵權(quá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)容