Kotlin调用java
public class MyJavaClass{
public static MyJavaClass object = new MyJavaClass();
@Override
public String toString(){
return "MyJavaClass{}";
}
}
kotlin
fun main(args: Array<String>){
//需要加反引用符号,!左侧的按键
val obj:MyJavaClass! = MyJavaClass.`object`
println(obj)
}
Java调用Kotlin
访问Kotlin属性
Java访问Kotlin的属性是通过getter函数和setter函数
访问包级别成员
在同一个Kotlin文件中,那些顶层属性和函数,包括顶层扩展属性和函数都不隶属于某个类,但他们隶属于该Kotlin文件中定义的包。在Java中访问他们时,把他们当成静态成员。myclass22.33.44.kt未见编译成为Myclass22_33_4Kt.class;编译器会将点自动转化成下划线。
也可以通过这种注解的方式来指定虚拟机编译成的文件名称。
kotlin
//文件名:ch21.3.2.kt
//也可以通过这种注解的方式来指定虚拟机编译成的文件名称
@file:JvmName("MyClass")
//顶层函数
fun rectangleArea(width:Double, height: Double): Double{
val area = width * height
return area
}
//顶层属性
val area = 100.0
Java
public class Ch21_3_2{
public static void main(String[] args){
//访问顶层函数
Double area = Ch21_3_2Kt.rectangleArea(320.0, 480.9);
System.out.println(area);
//访问顶层属性
System.out.println(Ch21_3_2Kt.getArea())