[英]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.