如何在伴随对象Kotlin

时间:2017-12-05 23:00:44

标签: android libgdx kotlin static-variables kotlin-companion

我要转换的代码如下:

public class AndroidLauncher extends AndroidApplication {

   public static AndroidLauncher androidLauncher;
   @Override
   protected void onCreate (Bundle savedInstanceState) {
       super.onCreate(savedInstanceState);
       androidLauncher = this;
   }
}

android studio生成的代码是什么;

class AndroidLauncher : AndroidApplication() {
   protected override fun onCreate(savedInstanceState: Bundle?) {
       super.onCreate(savedInstanceState)
       androidLauncher = this
   }

   companion object {

       var androidLauncher: AndroidLauncher
   }
}

这段代码给了我错误,这是;

  

属性必须初始化或是抽象的

我正在使用libgdx开发游戏,所以我将使用这种方法在任何我想要的地方使用Game对象。它是一个单例类,所以它不会泄漏任何内存。

1 个答案:

答案 0 :(得分:1)

使用lateinit表示该字段将在稍后初始化。

   companion object {
       lateinit var androidLauncher: AndroidLauncher
   }