/**
* kotlin文件中 Java类使用Java的callback
*/
//第一种写法
JavaManager().setJavaCallback(JavaCallback {
println(it)
})
//第一种方法取别名
JavaManager().setJavaCallback(JavaCallback { aaa ->
println(aaa)
})
//第二种写法
JavaManager().setJavaCallback(object : JavaCallback {
override fun show(info: String?) {
println(info)
}
})
//第二种写法的简写
JavaManager().setJavaCallback { info -> println(info) }
//第二种写法的再简单写法
JavaManager().setJavaCallback { it -> println(it) }
JavaManager().setJavaCallback { println(it) }
//第三种写法,第一种写法的,先声明java callback
val callback = JavaCallback {
println(it)
}
JavaManager().setJavaCallback(callback)
//第四中写法,第二种写法的,先声明kt callback写法
val callback2 = object : JavaCallback {
override fun show(info: String?) {
println(info)
}
}
JavaManager().setJavaCallback(callback2)
/**
* kotlin文件中 Java类使用Kt的callback
*/
JavaManager().setKtCallback(object :KTCallback{
override fun show(name: String) {
println(name)
}
})
val ktCallback1 = object :KTCallback{
override fun show(name: String) {
println(name)
}
}
JavaManager().setKtCallback(ktCallback1)
/**
* kotlin文件中kotlin使用kotlin 的callback
*/
//写法1,kotlin中只能使用这种方式,先object : XXXCallback
KtManager().setKtCallback(object : KTCallback {
override fun show(name: String) {
}
})
//写法1 ,先声明kt的callback
val callback1 = object : KTCallback {
override fun show(name: String) {
println(name)
}
}
KtManager().setKtCallback(callback1)
//kotlin不能像Java一样的写法,kotlin的callback一定是object:XXCallback
/*KtManager().setCallback(KTCallback {
})*/
/**
* kotlin使用java 的callback
*/
KtManager().setJavaCallback(JavaCallback {
println(it)
})
KtManager().setJavaCallback(object : JavaCallback {
override fun show(info: String?) {
println(info)
}
})
KtManager().setJavaCallback(JavaCallback { it -> println(it) })
KtManager().setJavaCallback(JavaCallback { println(it) })