簡體   English   中英

如何覆蓋從 java class 在 kotlin 伴侶 ZA8CFDE6331BD59EB6AC96F8911C4

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

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM