Kotlin中类似java的静态方法

本文探讨了在Kotlin中如何模拟Java中的静态方法,并推荐使用包级函数而非伴生对象。介绍了具体实现方法及跨语言调用的区别。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在java中,我们在写一些静态方法时会这样写:

public class Utils{
    public static String getName(){
        return "yiifox";
    }

}

在Kotlin中没有静态方法一说,网上大多说使用伴生对象来模拟静态方法,其实这种方式是不推荐的;

先看下使用伴生对象的写法:

//创建CompanionUtils.kt


package com.yiifox.demo.utils


class CompanionUtils {

    companion object {
        fun getName(): String {
            return "yiifox"
        }
    }
}

//调用时

//kotlin中,和java的静态方法很像

 val name =   CompanionUtils.getName()

//但是在java中就能看出区别
 String name =   CompanionUtils.Companion.getName();

 

所以,推荐使用包级方法。那么上面的方法使用kotlin写法为:

//例如新建一个文件Utils.kt

//里面内容为

package com.yiifox.kt.demo.utils

fun getName():String{

    return "yiifox"
}

 

不需要写class Utils,直接写上面的内容即可,那么在调用的时候注意了:



//在Kotlin中调用的时候如果不在同包下,导包导入的是方法名

import com.yiifox.kt.demo.getName


//调用的时候:
val name = getName()


//java中调用就不一样了:

//导包
import com.yiifox.kt.demo.UtilsKt;


//调用,后面多了Kt
String name = UtilsKt.getName();

 

这是最近一点Kotlin的一点笔记,希望对大家都有帮助!

转载于:https://my.oschina.net/afox/blog/1142960

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值