Java和Kotlin互相调用需要注意的问题

本文详细探讨了Java调用Kotlin以及Kotlin调用Java时可能遇到的问题,包括顶层函数和属性的调用、多文件协调、扩展方法命名、类的使用、默认参数、异常处理等。同时,提到了操作符重载、可变长参数和JNI方法的调用细节,为Java和Kotlin混合开发提供了实用指导。
摘要由CSDN通过智能技术生成

kotlin和java虽然100%互通,但是其实还是要注意一些问题,这里总结一下。

Java调用Kotlin

顶层函数和属性

kotlin有顶层方法和属性,java没有,首先Test.kt文件中中定义的顶层方法以及属性

package kotlin
/*
* Created by TY on 2017/7/20.
*/
var name:String="";
const val name1="2";

fun test(){

}

fun main(args: Array<String>) {
}

在java中会自动生成一个TestKt类,直接调用即可。

package java;


import kotlin.TestKt;

/*
* Created by TY on 2017/7/28.
*/
class Main {
    public static void main(String args[]) {
        TestKt.test();
        TestKt.setName("1");
        String a =Hello.name1;

    }
}

这里的const关键字的用法相当于public static final ,注意const的限制:
1.只要出现在最顶层或对象内部
2.只支持String与原始类型
3.无法算自定义getter

如果想指定生成的类名,要用到注解 @file:JvmName(),放在package之前

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值