kotlin object单例在kt 和Java中调用的异同

本文探讨了如何在Kotlin中创建一个单例类,并使用`@JvmStatic`注解使方法在Java中可作为静态方法调用。通过示例展示了在Java和Kotlin文件中如何调用这些方法,解释了不同语言间调用单例类的差异。

 1,kotlin object 单例类:LoadingDialog2.kt

object LoadingDialog1 {

    fun a(){

    }

    //添加注释变成真正的静态方法
    @JvmStatic
    fun b(){

    }
}

2,Java文件调用这个类:ClientJava.java 

public class ClientJava {
    void test(){
        LoadingDialog1.INSTANCE.a();

        LoadingDialog1.b();
    }
}

可以看到,a方法要想在Java中直接点出来是不行的,只能通过LoadingDialog1.kt文件编译成的Java文件中的INSTANCE单例对象来获取该方法。 (想看如何获取这个文件,请看https://blog.csdn.net/Goals1989/article/details/119797034

3,kt文件调用这个类:ClientKt.kt

class ClientKt {
    fun test(){
        LoadingDialog1.a()
        LoadingDialog1.b()
    }
}

可以看到这两种 方式在kt文件中调用都一样

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值