Tag: kotlin companion

如何保持伴随对象Kotlin中的单例类对象的引用

我想要转换的代码如下: 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对象。 这是一个单独的类,所以它不会泄漏任何内存。

在kotlin中命名伴随对象有什么意义?

伴随对象的文档具有以下示例 class MyClass { companion object Factory { fun create(): MyClass = MyClass() } } 这里Factory是伴侣对象的名字 。 然后它继续说: 伴随对象的名称可以省略,在这种情况下,将使用Companion名称: 但是,我没有看到使用伴随对象名称的示例。 因为每个类只能有一个伴随对象(否则你会得到Only one companion object is allowed per class错误Only one companion object is allowed per class有Only one companion object is allowed per class ),这个名字对我来说就像是一些非常无用的语法糖。 伴侣对象的名字实际上可以用来做什么? 为什么会打扰使用任何名称?