Android开发,Kotlin的了解与学习(七)-----接口与实现
来源:互联网 发布:手机淘宝如何实名认证 编辑:程序博客网 时间:2024/05/17 00:16
本章来说一说接口相关的东西
接口
接口的关键字和java一样,也是interface
interface MyListener { fun onSuccess(msg: String) fun onError(msg: String = "失败", code: Int) } class MyLClass : MyListener{ override fun onSuccess(msg: String) { } override fun onError(msg: String, code: Int) { } }
class MyLClass : MyListener, Person() { override fun faFoo(): String { return "" } override fun onSuccess(msg: String) { } override fun onError(msg: String, code: Int) { } }
你可能想到了,如果我想继承一个接口,而不是实现一个接口呢,很明显,类是不能继承接口的,能继承的接口的只有接口,而同时,接口是不能继承一个非接口的类,只能继承接口,并且不能实现另一个接口。所以很明显,extends和implement这两个关键字是不需要存在的。
另外代码里,我还放了一个小彩蛋,这个是在以前提到过的默认值
fun onError(msg: String = "失败", code: Int)
那我们在调用这个方法时,就可以这样了
mListener.onError(0)//相当于mListener.onError("失败",0)
可能你们尝试过在类中建立一个参数,并不赋值
var a : Int
在接口中,可以定义一个抽象的属性,像上面那种,同时,如果有类实现了该接口,就必须对该抽象属性进行赋值
override var a: Int = 10
这个大家需要自己去尝试一下了。
多实现的冲突处理
假如类同时实现了两个不同的接口,并且两个接口存在一个相同名称的方法,如下:
interface MyListener1 { fun onSuccess(msg: String) fun onError(msg: String = "失败", code: Int) } interface MyListener2 { fun onSuccess(msg: String) fun onProgress(progress: Int) } class MyLClass : MyListener1, MyListener2 { override fun onProgress(progress: Int) { } override fun onSuccess(msg: String) { } override fun onError(msg: String, code: Int) { } }
super<MyListener2>.onSuccess("")
以上,就是kotlin中类与接口相关的知识点了。(不知不觉都第七章了,我在想从第几章开始涉足到android方面呢)
Android开发,Kotlin的了解与学习(八)-----kotlin在Android上的基础应用
阅读全文
0 0
- Android开发,Kotlin的了解与学习(七)-----接口与实现
- Android开发,Kotlin的了解与学习(二)-----Kotlin数据类型与Extensions的学习
- Android开发,Kotlin的了解与学习(八)-----kotlin与java的互相调用
- Kotlin学习(七): 类和继承、接口与实现
- Android开发,Kotlin的了解与学习(一)-----下载与安装
- Android开发,Kotlin的了解与学习(六)-----类与继承
- Android开发,Kotlin的了解与学习(九)-----在Android上的具体应用
- Android开发,Kotlin的了解与学习(三)-----流程控制语句
- Android开发,Kotlin的了解与学习(四)-----基本语法之方法、操作符
- Android开发,Kotlin的了解与学习(五)-----基本语法之集合相关
- kotlin开发Android入门篇七Kotlin与Java相互调用
- Kotlin开发语言学习(3)Kotlin与Java混编
- Android开发之:OpenMax的接口与实现
- kotlin开发Android入门篇二类的使用与创建
- Kotlin开发Android笔记2:Kotlin与Java简单比较
- Kotlin开发Android笔记3:Kotlin中类与函数
- Kotlin开发Android笔记2:Kotlin与Java简单比较
- Kotlin开发Android笔记3:Kotlin中类与函数
- Android广播机制
- IE9支持swfupload浏览按钮
- Unity热更新(三):Lua参考资料
- 从传统IT快速走向公共云计算
- xutils的使用
- Android开发,Kotlin的了解与学习(七)-----接口与实现
- 关于字符编码ANSI、UNICODE、UTF-8等
- caffe 学习笔记之AccuracyParameter
- input file上传图片预览
- 怎样在vs2010里面实现两个编辑控件对应一个消息处理函数
- Android手势GestureDetector
- url-loader@0.5.9 requires a peer of file-loader@* but none was installed.
- 37-Sudoku Solver
- iOS 播放gif图片