![](/img/trans.png)
[英]How to refer to a public method of a java Activity class from the Kotlin companion object?
[英]How to override inherited getter from java class in a kotlin companion object
首先, Manager
(一个 Kotlin 类)继承自JavaPlugin
(这是一个 Java 类)。 这个 JavaPlugin class 包含一个 getter 方法getPlugin(Class<T>)
。
经理 class:
class Manager : JavaPlugin() {
companion object {
[more code...]
lateinit var plugin: Manager
private set
}
[more code...]
}
Now back in any other Java class (my project is mixed between the two languages) I want to call Manager.getPlugin()
, but in Java there is still only the method from the JavaPlugin
class, which was inherited. 在 Kotlin 文件中,我能够检索插件变量,但在 Java 文件中,我无法弄清楚这怎么可能。
我知道我现在可以使用Manager.Companion.getPlugin()
,但我不想更改旧的 Java 代码(其中包含旧的 static Manager.getPlugin()
调用)。
我在这里与伴侣 object 是否错了,应该使用不同的东西来模拟我的旧 static 变量与 static 吸气剂? (我读到您可以将变量放在 class 之外,但我不知道如何在名称Manager
下访问这些变量(它仅适用于ManagerKt
)。)
我希望有人对这个问题有一个更好的标题并对其进行编辑。
注释您的方法@JvmStatic
。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.