【笔记】Kotlin与Java协同开发
前言
Kotlin与Java协同开发学习笔记
Java中定义Kotlin的非空类型
- 只是通过注解显式的标注,为了让编辑器辅助检查,不会实际的定义成非空类型,实际使用时还需要判空
1 | import org.jetbrains.annotations.NotNull; |
Java中调用Kotlin中定义的全局变量或全局方法
- Java中通过
MainKt类指代Kotlin的全局类,将main之外的方法或变量作为MainKt类的属性
1 | MainKt.全局方法() |
Java中使用Kotlin定义的单例对象
1 | object 类名 { |
1 | 类名.INSTANCE.方法名(); |
Java中使用Kotlin定义的伴生对象
1 | class 类名 { |
1 | 类名.Companion.方法名(); |
Kotlin中使用Java定义的in属性或方法
- 因为Java中
in不是关键字
1 | public class 类名 { |
1 | 类名.`in` = 值 |
Kotlin中定义Java的静态属性
1 | class 类名 { |
1 | System.out.println(类名.静态属性名); |
Kotlin中定义Java的静态方法
1 | class 类名 { |
1 | 类名.静态方法名() |
Kotlin使用主构造方法定义属性时定义Java的实例属性
1 | class 类名( var 属性名: 数据类型) {} |
Kotlin中显式的定义编译后的字节码文件名
1 | ("Kotlin编译的字节码文件名") |
1 | + out |