我要转换的代码如下:
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对象。它是一个单例类,所以它不会泄漏任何内存。
答案 0 :(得分:1)
使用lateinit
表示该字段将在稍后初始化。
companion object {
lateinit var androidLauncher: AndroidLauncher
}