kotlin中的接口使用

1.接口

Kotlin 中的接口与 Java 8 很是相似. 接口中能够包含抽象方法的声明, 也能够包含方法的实现. 接口与抽象类的区别在于, 接口不能存储状态数据. 接口能够有属性, 但这些属性必须是抽象的, 或者必须提供访问器的自定义实现。web

interface OnRefreshListener {

    fun onRefresh()
}

2.接口实现

class ViewModel : OnRefreshListener{

    override fun onRefresh() {

    }
}

在kotlin中实现接口不须要像Java同样,在Java中实现接口是用过implements关键字而在kotlin中经过 :来实现。ide

3.接口中的属性

interface OnRefreshListener {

    val mSize: Int

    fun onRefresh()
}
class ViewModel : OnRefreshListener{

    override val mSize: Int get() = 20

    override fun onRefresh() {

    }
}

4.解决覆盖冲突

实现的两个接口中方法同名时下面的操做可解决覆盖冲突svg

interface OnRefreshListener {

    fun onRefresh()

    fun onFinish(){}
}

interface OnLoadMoreListener {

    fun onLoadMore()

    fun onFinish(){}
}

class ViewModel : OnRefreshListener, OnLoadMoreListener{

    override fun onLoadMore() {

    }

    override fun onRefresh() {

    }

    override fun onFinish() {
        super<OnRefreshListener>.onFinish() // 或者 super<OnLoadMoreListener>.onFinish()
    }
}

本文分享 CSDN - 秦川小将。
若有侵权,请联系 support@oschina.cn 删除。
本文参与“OSC源创计划”,欢迎正在阅读的你也加入,一块儿分享。spa

相关文章
相关标签/搜索