如何在kotlin伴随对象中重写从java类继承的getter



首先,Manager(一个Kotlin类(继承自JavaPlugin(一个Java类(。这个JavaPlugin类包含一个getter方法getPlugin(Class<T>)

经理级别:

class Manager : JavaPlugin() {
companion object {
[more code...]
lateinit var plugin: Manager
private set
}
[more code...]
}

现在回到任何其他Java类中(我的项目是混合在这两种语言之间的(,我想调用Manager.getPlugin(),但在Java中仍然只有来自JavaPlugin类的方法,它是继承的。在Kotlin文件中,我可以检索插件变量,但在Java文件中,却不知道这是怎么可能的。

我知道我现在可以使用Manager.Companion.getPlugin(),但我不想更改旧的Java代码(其中包含旧的静态Manager.getPlugin()调用(。

我只是在这里对伴随对象错了,应该使用不同的东西来用静态getter模拟我的旧静态变量吗?(我读到您可以将变量放在类之外,但当时我不知道如何以名称Manager访问这些变量(它只适用于ManagerKt(。(

我希望有人能为这个问题找到一个更好的标题并对其进行编辑。

对方法@JvmStatic进行注释。

相关内容

  • 没有找到相关文章

最新更新