
語(yǔ)法層面上來(lái)說(shuō):
- 抽象類(lèi)可以提供成員方法的實(shí)現(xiàn)細(xì)節(jié)(多個(gè)方法) , 抽象類(lèi)在1.8(不包含1.8)之前不能提供實(shí)現(xiàn)細(xì)節(jié) , 1.8之后可以通過(guò)默認(rèn)方法來(lái)提供一個(gè)默認(rèn)的實(shí)現(xiàn)方法 。
- 抽象類(lèi)的成員變量可以是各種類(lèi)型的 , 而接口中的成員變量只能是publicstatci final修飾的
- 抽象類(lèi)中可以包含靜態(tài)方法和靜態(tài)代碼塊 , 而接口不行
- 抽象類(lèi)只能繼承一個(gè)父類(lèi) , 而一個(gè)類(lèi)可以實(shí)現(xiàn)多個(gè)接口
- 抽象類(lèi)出現(xiàn)就是為了被繼承 , 它的設(shè)計(jì)屬于模板式的設(shè)計(jì) 。 接口設(shè)計(jì)出來(lái)是為了組合使用 , 是一種行為規(guī)范 , 屬于輻射式設(shè)計(jì) 。
- 抽象類(lèi)是對(duì)事物的抽象 , 接口是對(duì)行為的抽象 。 舉個(gè)簡(jiǎn)單的例子 , 鳥(niǎo)是動(dòng)物 , 這個(gè)動(dòng)物就是抽象類(lèi);而鳥(niǎo)會(huì)飛 , 這個(gè)能不能飛的能力就是一個(gè)接口 。
輻射式設(shè)計(jì):例如手機(jī)上5g模塊 , 有的手機(jī)裝了有的手機(jī)沒(méi)裝 , 如果我們要升級(jí)5g模塊的代碼的話 , 那么所有裝了5g模塊的手機(jī)都要改動(dòng)代碼)
一般來(lái)說(shuō) , 我們這樣判斷這個(gè)類(lèi)該使用抽象類(lèi)還是接口 。
- is-a:滿足is-a關(guān)系我們使用繼承 , 例如:玻璃杯、塑料杯都是杯子
- like-a:滿足like-a關(guān)系我們使用接口 , 例如:空調(diào)繼承于制冷機(jī) , 但它同時(shí)有加熱功能 , 那么你應(yīng)該把讓空調(diào)繼承制冷機(jī)類(lèi) , 并實(shí)現(xiàn)加熱接口 。
【5G|接口和抽象類(lèi)有什么區(qū)別?】
相關(guān)經(jīng)驗(yàn)推薦
- 小米科技|小米和紅米有什么區(qū)別?哪個(gè)性價(jià)比最高?看完你就明白了
- 安卓|入門(mén)和中階手機(jī)、平板也能更新! 三星公布 Android 12 升級(jí)時(shí)程
- iqoo|目前很受歡迎的二款千元中端機(jī),配置和性能十分主流,性價(jià)比爆棚
- mybatis|CPU和系統(tǒng)全是美國(guó)公司的,所以美國(guó)決定了全球智能手機(jī)公司的存亡
- 阿里巴巴|微信和支付寶二選一,你留哪個(gè)?為何馬云常說(shuō)要把阿里做到102歲
- 聯(lián)想|i7-12700H和R7-6800H,這兩個(gè)CPU差距有多大?
- 芯片|華為P60 Pro曝光:打破傳統(tǒng)束縛,集顏值和性能于一體
- 中國(guó)手機(jī)|印度,中國(guó)手機(jī)廠商們的遠(yuǎn)慮和近憂
- iPhone|紅米K50S系列和紅米K60疑似曝光,紅米K50:剛成為小爆款
- 一加科技|移動(dòng)硬盤(pán)怎么選?機(jī)械和固態(tài)哪些值得買(mǎi)?買(mǎi)前觀看不踩坑
