美文网首页
Kotlin-Java互调

Kotlin-Java互调

作者: izheer | 来源:发表于2022-05-13 11:19 被阅读0次

    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>){
    
    }
    
    

    相关文章

      网友评论

          本文标题:Kotlin-Java互调

          本文链接:https://www.haomeiwen.com/subject/umfeurtx.html