Kotlin基础教程-接口
来源:互联网 发布:淘宝nb旗舰店是真的吗 编辑:程序博客网 时间:2024/06/04 21:02
kotlin-in-chinese
Interfaces
接口定义
关键字:interface
interface People { fun run()}
实现接口
interface People { fun run() }class Chinese : People { override fun run() {}}class Japan : People { override fun run() { }}
接口中属性
抽象属性
interface People { var age: Int//抽象属性 fun run() {}//非抽象函数}class Chinese : People { override var age: Int get() = TODO("not implemented") //To change initializer of created properties use File | Settings | File Templates. set(value) {}}
非抽象属性,要提供访问器
interface People { val age: Int get() = 1 fun run() {}//非抽象函数}class Chinese : People {}
实现多接口
interface A { fun foo() { print("A") } fun bar()}interface B { fun foo() { print("B") } fun bar() { print("bar") }}
接口A中foo
不是抽象函数,bar
是抽象函数(),实现该接口的类必须实现bar()
,所以实现A的类C的定义是下面这样的
class C : A { override fun bar() { print("bar") }}
C不用强制实现foo()
。
class D : A, B { override fun foo() { super<A>.foo() super<B>.foo() } override fun bar() { super<B>.bar() }}
由于A
,B
都有foo()
和bar()
两个函数,所以类D中必须重写这个方法,如果不重写,编译器不知道使用哪个接口中的该方法。
super标识父类,或者实现的接口,泛型标识哪个父类,所以上面的代码中用super,super分别代表A,B中的函数
阅读全文
0 0
- Kotlin基础教程-接口
- Kotlin基础教程-HelloWorld
- Kotlin基础教程-基础语法
- Kotlin基础教程-风格
- Kotlin基础教程-基本数据类型
- Kotlin基础教程-包
- Kotlin基础教程-扩展
- Kotlin基础教程-数据对象
- Kotlin基础教程-泛型
- Kotlin基础教程-嵌套类
- Kotlin基础教程-枚举类
- Kotlin基础教程-代理
- Kotlin基础教程-代理属性
- Kotlin基础教程-函数
- Kotlin基础教程-内联函数
- Kotlin基础教程-协程
- Kotlin基础教程-Ranges表达式
- Kotlin基础教程-this关键字
- 史上最简单的 SpringCloud 教程 | 第十四篇: 服务注册(consul)
- 消费者生产者模型
- springMVC中对日期的格式化
- jquery click()方法模拟点击事件对a标签不生效的解决办法
- ( 工具)带有删除功能的EditTex
- Kotlin基础教程-接口
- 多线程——详细总结
- 为什么新人不会编程
- 前台向后台发送下载文件请求时出现400错误
- angular-cli修改端口号
- 两幅图像间的精确对比
- 安装和启动gogs,自定义的git仓库
- Java线程安全队列Queue
- [Zeppelin]Zeppelin安装与初体验