欧美日韩国产一区二区|qovd片|小明个人发布看看|小浪货你夹真紧水又多|老头把我添高潮了A片故|99热久久精品国产一区二区|久久久春色AV

5G|接口和抽象類有什么區別?

5G|接口和抽象類有什么區別?

語法層面上來說:

  1. 抽象類可以提供成員方法的實現細節(多個方法) , 抽象類在1.8(不包含1.8)之前不能提供實現細節 , 1.8之后可以通過默認方法來提供一個默認的實現方法 。
  2. 抽象類的成員變量可以是各種類型的 , 而接口中的成員變量只能是publicstatci final修飾的
  3. 抽象類中可以包含靜態方法和靜態代碼塊 , 而接口不行
  4. 抽象類只能繼承一個父類 , 而一個類可以實現多個接口
設計層面上來說:
  1. 抽象類出現就是為了被繼承 , 它的設計屬于模板式的設計 。 接口設計出來是為了組合使用 , 是一種行為規范 , 屬于輻射式設計 。
  1. 抽象類是對事物的抽象 , 接口是對行為的抽象 。 舉個簡單的例子 , 鳥是動物 , 這個動物就是抽象類;而鳥會飛 , 這個能不能飛的能力就是一個接口 。
(模版式設計:類似ppt模板 , 我們自己的內容只需要創建這個模板的實例然后改改內容 , 整體框架不變 , 如果要改動整體框架公共部分 , 只需要在模板上改動就行 。
輻射式設計:例如手機上5g模塊 , 有的手機裝了有的手機沒裝 , 如果我們要升級5g模塊的代碼的話 , 那么所有裝了5g模塊的手機都要改動代碼)
一般來說 , 我們這樣判斷這個類該使用抽象類還是接口 。
  • is-a:滿足is-a關系我們使用繼承 , 例如:玻璃杯、塑料杯都是杯子
  • like-a:滿足like-a關系我們使用接口 , 例如:空調繼承于制冷機 , 但它同時有加熱功能 , 那么你應該把讓空調繼承制冷機類 , 并實現加熱接口 。
\uD83D\uDE4F如果內容對您有幫助 , 希望您能點贊收藏加關注 , 激勵作者創作出更加優質內容 , 感謝!\uD83D\uDE4F
【5G|接口和抽象類有什么區別?】

    相關經驗推薦