0

我要转换的代码如下;

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 对象。这是一个单例类,所以它不会泄漏任何内存。

4

1 回答 1

1

用于lateinit指示该字段稍后将被初始化。

   companion object {
       lateinit var androidLauncher: AndroidLauncher
   }
于 2017-12-05T23:08:22.840 回答