0

首先,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()调用)。

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

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

4

1 回答 1

2

注释您的方法@JvmStatic

于 2020-04-23T01:27:31.383 回答