部分代碼轉(zhuǎn)載至馬士兵JAVASE資料偎行。
final關(guān)鍵字
修飾變量:
修飾方法:final修飾方法,那么這個(gè)方法不可以被該類的子類重寫:
修飾類:final修飾類贰拿,代表沒有子類蛤袒,該類不可以被繼承:一旦一個(gè)類被final修飾,那么里面的方法也沒有必要用final修飾了(final可以省略不寫)
抽象類和方法
抽象類和抽象方法的關(guān)系:
抽象類中可以定義0-n個(gè)抽象方法膨更。
抽象類作用:
在抽象類中定義抽象方法妙真,目的是為了為子類提供一個(gè)通用的模板,子類可以在模板的基礎(chǔ)上進(jìn)行開發(fā)荚守,先重寫父類的抽象方法珍德,然后可以擴(kuò)展子類自己的內(nèi)容。抽象類設(shè)計(jì)避免了子類設(shè)計(jì)的隨意性矗漾,通過抽象類锈候,子類的設(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è)抽象類了啦桌,就不存在繼承了,就沒有子類。
接口
接口聲明格式:
接口的作用是什么板驳?
定義規(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)用場合:
(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)部類滑进、局部內(nèi)部類犀忱、匿名內(nèi)部類、靜態(tài)內(nèi)部類扶关,下面我們逐一介紹這四種內(nèi)部類峡碉。?