kotlin中的接口使用

1.接口

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

interface OnRefreshListener {

    fun onRefresh()
}
2.接口实现
class ViewModel : OnRefreshListener{

    override fun onRefresh() {

    }
}

在kotlin中实现接口不需要像Java一样,在Java中实现接口是用过implements关键字而在kotlin中通过 :来实现。

3.接口中的属性
interface OnRefreshListener {

    val mSize: Int

    fun onRefresh()
}
class ViewModel : OnRefreshListener{

    override val mSize: Int get() = 20

    override fun onRefresh() {

    }
}
4.解决覆盖冲突

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

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()
    }
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

蒙同學

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值