kotlin 细节四:静态函数和 静态变量

为什么Kotlin 没有static 关键字

在java 的世界中 ,类是一级公民,所有的东西,方法呀,变量啊都必须依赖于类 。但是有的方法和类本身没有关系,例如 JDK 中 的Collections了。
而Kotlin 中函数是一级公民,因此就不需要去创建这些无意义的类, 相反,可以把这些函数接放到代码文件的顶层,不用从属于任何的类。如果你需要从包外访问它,则需要 import 关键字。

顶层函数

顶层函数就是不被 类{ } 保含的函数,因此它处于文件的最顶层。 它就相当于java 的静态函数。
Kotlin 中顶层函数就特别多了。
如常用的,创建集合和 数组 的 XXXof 方法:

public fun <reified @PureReifiable T> arrayOfNulls(size: Int): Array<T?>

/**
 * Returns an array containing the specified elements.
 */
public inline fun <reified @PureReifiable T> arrayOf(vararg elements: T): Array<T>

java 如何访问顶层函数

以自定义的顶层函数为例 。在JVM 上会被编译成 静态方法,类名为文件名加Kt 。如果想自定义生成的类名,可以通过 @file:JvmName(“MyKotlinClass”) 注解来生成。这个注解必须放在文件的开头,包名的前面。

package com.example.diva.github.common

fun topTest():String{
    return "这是顶层函数"
}

反编译

public final class UtilsKt {
   @NotNull
   public static final String topTest() {
      return "这是顶层函数";
   }
}

访问

public class javaFunctionTest {

    public static void main(String args[]){
        System.out.println(UtilsKt.topTest());
    }
}

顶层属性

顶层属性也就是把属性直接放在文件顶层 。访问方式同上。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值