kotlin语法快速入门-接口与接口实现(8)

kotlin语法快速入门-接口与接口实现(8)

文章目录

八、接口与接口实现

1、接口定义与实现

在kotlin中语法与Java语法差不多,唯一区别就是没有使用implement关键字,用冒号,像继承一样。多个接口继承用逗号隔开。下面是接口定义与接口实现的一个例子:

kotlin 复制代码
class AParent() : A, B {  //接口实现

}

interface A {   //接口A

}

interface B {   //接口B

}

2、接口成员变量

2.1、单个接口函数复写
kotlin 复制代码
class AParent() : A{  //接口实现
    override fun print() {
        super.print()
    }
}

interface A {   //接口A
    fun print(){}
}

注意:当接口A函数中的print()方法存在方法体{}的时候,默认是可以不重写。没有方法体的时候强制重写,这点个Java一样。

2.2、多个接口同名函数复写

当多个接口具有同名函数的时候,需要使用super<A>指定复写的是哪一个接口中的函数:

kotlin 复制代码
class AParent() : A, B {  //接口实现
    override fun print() {
        super<A>.print() //指定父类A的print方法
        super<B>.print() //指定父类B的print方法
    }
}

interface A {   //接口A
    fun print() {}
}

interface B {   //接口A
    fun print() {}
}
2.2、接口成员存在变量和常量

变量重写,其实就是重新其get和set方法:

kotlin 复制代码
class AParent() : A {  //接口实现
    override var name: String
        get() = TODO("Not yet implemented")
        set(value) {}
}

interface A {   //接口A
   var name: String
}

常量重写,其实就是重新其get方法:

kotlin 复制代码
class AParent() : A {  //接口实现
    override val name: String
        get() = TODO("Not yet implemented")
}

interface A {   //接口A
   val name: String
}

也可以将复写的变量写在类的()里面:

kotlin 复制代码
class AParent(override var name: String) : A {  //接口实现
}

interface A {   //接口A
    var name: String
}
相关推荐
louisgeek1 分钟前
Android SimplePool 和 SynchronizedPool 的区别
android
martian6653 分钟前
Spring Boot开发三板斧:高效构建企业级应用的核心技法
java·开发语言
恋猫de小郭13 分钟前
JetBrains Terminal 又发布新架构,Android Studio 将再次迎来新终端
android·前端·flutter
cherry523016 分钟前
【Java设计模式】第1章 课程导学
java·开发语言·设计模式
匹马夕阳23 分钟前
(七)安卓开发中的状态列表图形(StateListDrawable)详解
android
wuxiguala27 分钟前
【java图形化界面编程】
java·开发语言·python
东方雴翾30 分钟前
CSS语言的游戏AI
开发语言·后端·golang
黄林晴43 分钟前
速学Android 16新功能:带有进度的通知类型
android
猫猫的小茶馆44 分钟前
【PCB工艺】发光二极管的原理
android·stm32·单片机·嵌入式硬件·pcb工艺
鲤鱼不懂1 小时前
python 浅拷贝copy与深拷贝deepcopy 理解
开发语言·python