Kotlin中类似java的静态方法 4年前

在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的一点笔记,希望对大家都有帮助!

S
Story_Bridge
凌晨四点钟,我看见海棠花未眠,总觉得这时,你应该在我身边;凌晨五点钟,我还在失眠,而你,也不会对我有所思念;凌晨六点钟,太阳升起海平面,你不爱我,也没人听得见。
3
发布数
0
关注者
1297
累计阅读

热门教程文档

Objective-C
29小节
QT
33小节
React
18小节
PHP
52小节
Typescript
31小节
广告