object关键字
object修饰的类,表示是类内部的所有方法以及变量都是静态
java调用kotlin :
kotlin类 MyClass.kt:
class MyClass{
fun show2(info:String){
//todo
}
}
fun show1(info:String){
//todo
}
1、kotlin类外的方法,使用 [类名]+Kt.[方法名]调用;
如:MyClassKt.show1("调用kotlin类外的方法")
2、调用kotlin类内的方法,使用 new [类名].[方法名];
如:new MyClass().show2("调用kotlin类内的方法")
kotlin 调用 java:
1、当java中使用了kotlin中的关键字时,需要使用单引号''转义
如 :当java使用in作为变量,导致in关键字冲突,那么在kotlin中这样调用 JavaClass.'in'
2、java中的getxxx() 方法,在kotlin中是默认省略了get的,直接使用xxx进行调用
如:java 中 String getName() kotlin中这样调用:var str : String ? = JavaClass().name
其中?是表示可为空,因为 JavaClass().name是带有!感叹号的标志。
3、形参是java的类字节 Class,形参是kotlin的类字节码的调用方式:
fun main(){
//调用方式
show1(JavaClass::class.java)
show2(JavaClass::class)
}
//形参是Java类的字节码
fun show1(class : Class<JavaClass>){
}
//形参是 kotlin类的字节码
fun show(class:Class<KtClass>){
}