1 Java 调用Kotlin
1 Kotlin的属性:Getter/Setter ,@JvmField
2 Object 类 : 静态变量 INSTANCE
3 方法可以含默认参数
4 构造函数、静态方法:@JvmOverloads
5 包方法:包名+KT类
6 Internal 谨慎使用
2 Kotlin调用Java
1 属性:自动转换 Getter/Setter
2 空安全:平台类型,是否加类型限制如String(?),由编码人员自行决定,Java非空通过@NotNull限制
3 泛型:1 泛型参数有限控制,避免陷入死循环
2 实现class的子类
比如 所有的Activity 都要继承如下抽象类
public abstract class BaseMvpActivity<P extends BasePresenter> {}
java :
public class ResultActivity<T extends BasePresenter> extends BaseMvpActivity<T> {}
java没有用到具体类型,泛型T可以省略。
public class ResultActivity extends BaseMvpActivity {}
但kotlin不能省略
class ResultActivity<T : BasePresenter<*>> : Bas