前言
本文简要介绍一下kotlin中接口的使用
接口的定义
interface A{
fun getNum():Int
fun defaultImple(){
println("我是默认实现")
}
}
class AImpl() :A{
override fun getNum(): Int {
TODO("not implemented") //To change body of created functions use File | Settings | File Templates.
}
}
var aImpl=com.zhqy.javademo.AImpl();
aImpl.defaultImple()
println(aImpl.getNum())
测试结果
11-01 17:33:28.059 12496-12496/? I/System.out: 我是默认实现
11-01 17:33:28.059 12496-12496/? I/System.out: 100
Kotlin中的接口定义与Java的接口定义相似,Kotlin中的接口可以有实现的方法。
接口方法命名冲突
如果一个类实现了多个接口,但接口中的方法名称存在冲突可能会导致该类不知道执行的是哪个接口的方法。Kotlin为解决这个问题引入了super<T>.xxx的方法来声明调用的是哪个接口中的方法
interface A{
fun getNum():Int
fun defaultImple(){
println("我是A的默认实现")
}
}
interface B{
fun getNum():Int
fun defaultImple(){
println("我是B的默认实现")
}
}
class AImpl :A,B{
override fun defaultImple() {
//这个方法不知道调用的是哪个接口中的方法,指定使用A的默认实现
super<A>.defaultImple()
}
override fun getNum(): Int {
return 100;
}
}
测试结果
11-01 17:41:08.836 12641-12641/? I/System.out: 我是A的默认实现
11-01 17:41:08.836 12641-12641/? I/System.out: 100
以上就是Kotlin接口的全部内容
网友评论