最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Kotlin 匿名類實現(xiàn)接口和抽象類的區(qū)別詳解

 更新時間:2020年03月16日 12:39:38   作者:afunyusong  
這篇文章主要介紹了Kotlin 匿名類實現(xiàn)接口和抽象類的區(qū)別詳解,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧

我就廢話不多說了,還是上代碼吧

接口:

interface OnBind {

 fun onBindChildViewData(holder: String, itemData: Any, position: Int)

}
 lesson.does(object : OnBind {
  override fun onBindChildViewData(holder: String, itemData: Any, position: Int) {
   println(holder + itemData + position)
  }
 })

抽象類:

abstract class AbstractOnBind {

 abstract fun onBindChildViewData(holder: String, itemData: Any, position: Int)

}
 lesson.does(object : AbstractOnBind() {
  override fun onBindChildViewData(holder: String, itemData: Any, position: Int) {
   println(holder + itemData + position)
  }
 })

看到區(qū)別了嗎?哈哈,看不到?jīng)]關(guān)系,我告訴你。

他們之間唯一的區(qū)別就是調(diào)用時的下面這句,抽象類多了一個括號。

object : OnBind
object : AbstractOnBind()

就這么一點區(qū)別,其實本質(zhì)上是完全不一樣的。

在實現(xiàn)接口時,object 代替了 java 中 new 一個對象,在這里“:“ 號后緊跟接口,接口沒有構(gòu)造方法,代表了object實現(xiàn)了這個接口;

而在實現(xiàn)抽象類的時候,抽象方法后邊有(),可以理解為調(diào)用了抽象方法的構(gòu)造方法,“new“出了一個對象后,賦給了object。

總結(jié)一下:為便于理解可以這么想(實際原理可能并不是這樣),接口時,先有 object ,然后讓 object 實現(xiàn)該接口;抽象類時,先實現(xiàn)抽象類中的抽象方法,用構(gòu)造方法構(gòu)造出一個對象后,再給到 object

以上這篇Kotlin 匿名類實現(xiàn)接口和抽象類的區(qū)別詳解就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關(guān)文章

最新評論

新竹市| 崇文区| 石景山区| 左权县| 林周县| 阿克陶县| 莆田市| 镇安县| 视频| 海安县| 北安市| 咸丰县| 万州区| 莱西市| 石首市| 新巴尔虎右旗| 盘山县| 沙河市| 门源| 牙克石市| 延寿县| 武功县| 商丘市| 湖口县| 尉氏县| 安图县| 金山区| 鹤岗市| 武强县| 类乌齐县| 新蔡县| 成都市| 南平市| 民乐县| 南丹县| 靖安县| 化德县| 乌鲁木齐县| 东丽区| 永川市| 广灵县|