1. Java 与 Kotlin 交互的语法变化
1.1 Java 调 Kotlin
Utils.kt -> 这是 kotlin文件
fun echo(name:String){
println("$name")
}
Main.java
public static void main(String[] args){
UtilsKt.echo("hello");
}
1.2 object 关键字
object
关键字 //kotlin 中创建一个匿名内部类的写法
object ObjectTest{
fun sayMessage(msg: String){
println(msg)
}
}
fun main(array: Array<String>) {
//kotlin code
ObjectTest.sayMessage("hello")
//java code
//对应类中生成单例对象 INSTANCE
//ObjectTest.INSTANCE.sayMessage("hello");
}
1.3 调用 class
//java code
TestMain.class
//kotlin code
TestMain::class.java
fun testClass(clazz: Class<JavaMain>){
println(clazz.simpleName)
}
fun testClass(clazz: KClass<KotlinMain>){
println(clazz.simpleName)
}
fun main(array: Array<String>) {
testClass(JavaMain::class.java)
testClass(KotlinMain::class)
}
2. Kotlin 关键字处理
Java
public class JavaMain {
public static String in = "in";
}
Kotlin
fun main(array: Array<String>) {
println(JavaMain.`in`)//in 是 kotlin 关键字,在这 ``表示转义
}