kotlin调Java代码和调kotlin代码总结

java类参数和kotlin类为参数区别

fun showClass(clazz: Class) { }

// 全部都用 kt
fun  showClass2(clazz: KClass) { }

   // Class  java kt
    showClass(JavaStudent::class.java)

    showClass2(KtStudent::class)

kotlin使用Java代码的callback

    // TODO kt 使用 Java Callback
    // 第一种写法
    JavaManager().setCallback(JavaCallback {
        println(it)
    })

    // 第二种写法
    JavaManager().setCallback(object : JavaCallback{
        override fun show(info: String?) {
            println(info)
        }
    })

    // 第三种写法
    val callback = JavaCallback {
        println(it)
    }
    JavaManager().setCallback(callback)

    // 第四种写法
    val callback2 = object : JavaCallback{
        override fun show(info: String?) {
            println(info)
        }
    }
    JavaManager().setCallback(callback2)

kotlin使用kotlin代码的callback

// TODO kt 使用 tk Callback
    // 1
    KtManager().setCallback(object : KTCallback{
        override fun show(name: String) {
        }
    })

    // 2
    val c = object : KTCallback{
        override fun show(name: String) {  }
    }
    KtManager().setCallback(c)

禁止Java代码调用kotlin

fun `showTest`() {
    println("showTest")
}

fun `   `(sex: Char) {
    println("sex:$sex")
}

fun `4325436465375`(name: String) {

}

你可能感兴趣的:(kotlin调Java代码和调kotlin代码总结)