您好,欢迎来到保捱科技网。
搜索
您的当前位置:首页Kotlin 伴生对象(companion object) VS 全局函数

Kotlin 伴生对象(companion object) VS 全局函数

来源:保捱科技网

Kotlin的伴生对象(companion object)在语法上类似于Java中的静态方法,所以很多人也都是这样用的。本文将向你展示伴生对象的工作方式和在Kotlin中创建静态方法的推荐做法。

伴生对象 Companion Objects

代码一般是这样的:

// 声明
class KCompanion {
    companion object{
        fun getBongs(nTimes: Int) {
            for (i in 1 .. nTimes) {
                print("BONG ")
            }
        }
    }
}
// 调用
KCompanion.getBongs()

相当简单对吧!即使伴生对象的成员在其他语言中看起来像是静态成员,在运行时他们仍然是真实对象的成员实例。

我们看看代码编译后发生了什么:

public final class KCompanion {
     ... 
  public static final class Companion {
      public final void getBongs(int nTimes) {
         ...
      }
   }
}

一个额外的 Companion 类 被创建出来了。如何避免创建这个类呢?我们可以使用全局函数来实现我们的需求。

全局函数

创建一个kotlin文件

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- baoaiwan.cn 版权所有 赣ICP备2024042794号-3

违法及侵权请联系:TEL:199 18 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务