Kotlin接口

Posted djxf

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Kotlin接口相关的知识,希望对你有一定的参考价值。

来源于菜鸟教程

Kotlin接口与Java8类似,使用interface关键字定义接口。允许方法有默认实现:

    interface MyInterface {
      fun bar()           //未实现
      fun foo(){         //已实现
            println("foo")
} 
}    

实现接口

一个类或者对象可以实现一个或多个接口。

      class Child : MyInterface {
         override   fun  bar (){
             //方法体
}
}

实例:

技术分享图片

接口中的属性

接口中的属性只能是抽象的,不允许初始化值,接口不会保存属性值,实现接口时,必须重写属性。

   interface MyInterface {
          var name : String       //name 属性,抽象的
}


class  MyImpl : MyInterface {
          override var name : String = "runoob"
}

函数重写

实现多个接口时,可能会遇到同一个方法继承多个实现的问题:如下

技术分享图片

技术分享图片

实现中接口A1和B1都定义了方法foo()和bar(),两者都实现了foo().B1实现了bar()。因为C是一个实现了A的具体类。所以必须要重写bar()并实现这个抽象方法。

然而,如果我们从 A和B 派生D我们需要实现多个接口的所有方法并指明D应该如何实现他们。这一规则即适用于继承单个实现也适用于继承多个实现的方法。

以上是关于Kotlin接口的主要内容,如果未能解决你的问题,请参考以下文章

从viewPager片段(Kotlin)中获取用户输入信息

Android kotlin:无法读取类文件

如何从片段 KOTLIN 中调用意图 [重复]

如何在 Kotlin 片段内的按钮之间切换片段?

kotlin-从一个片段更改多个片段的小数位

如何更改片段 Kotlin