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