亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

何時使用抽象類或接口?

何時使用抽象類或接口?

HUH函數 2019-07-24 19:26:07
何時使用抽象類或接口?為什么要創建抽象類或接口類,或者何時應該使用抽象類或接口類?
查看完整描述

3 回答

?
拉風的咖菲貓

TA貢獻1995條經驗 獲得超2個贊

當您只想聲明類必須具有哪些方法和成員時,使用接口。任何實現該接口的人都必須聲明并實現該接口列出的方法。

如果您還想要一個默認實現,請使用抽象類。擴展抽象類的任何類都必須只實現其抽象方法和成員,并且將具有抽象類的其他方法的一些默認實現,您可以覆蓋或不覆蓋它們。

--EDIT - 忘了提,Earwicker提醒我

最后,您可以根據需要實現任意數量的接口,但只能擴展一個類(無論是抽象的還是抽象的)。在選擇之前請記住這一點。


查看完整回答
反對 回復 2019-07-24
?
慕慕森

TA貢獻1856條經驗 獲得超17個贊

關鍵的區別在于,您可以implement在一個類中使用多個接口,但只能extend使用一個抽象類。這是因為抽象類還可以定義存儲數據的字段,而接口則不能。


查看完整回答
反對 回復 2019-07-24
?
MYYA

TA貢獻1868條經驗 獲得超4個贊

抽象類是一個類,它至少有一個抽象方法,或者你也可以將所有方法都作為抽象方法。顯然它無法實例化。您必須從一個抽象類繼承并在繼承類中實現抽象方法(即擴展抽象類的類)。

接口根本不是類(因此不要將它們稱為接口類)。接口定義方法的簽名而無需任何實現。接口也沒有成員字段。如果在類中實現接口,則必須為接口提供的所有方法提供實現。

為某些東西定義一個通用API是有意義的,它可以有完全不同的實現。抽象類對于主要相同的類更有用,但有一些細微的差別。您可以將兩種方法結合起來

一個很好的例子是Java類庫的集合框架。您有接口List,它定義了Lists的行為方式。一些實現例如是ArrayList和LinkedList。因為它們的行為相似,所以兩者都相同的東西在抽象類AbstactList中實現,都繼承了它。


查看完整回答
反對 回復 2019-07-24
  • 3 回答
  • 0 關注
  • 655 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號