[英]Why i can't create a Kotlin object from java side?
我正在用Java調查Kotlin互操作。
我找不到這樣的答案。 我有一個來自kotlin的物體:
object Test {
fun main(args: Array<String>) {
}
}
以反編譯的形式看起來像這樣:
public final class Test {
public static final Test INSTANCE;
public final void main(@NotNull String[] args) {
Intrinsics.checkParameterIsNotNull(args, "args");
}
static {
Test var0 = new Test();
INSTANCE = var0;
}
}
問題是:為什么當我嘗試創建對象時,看到Test具有私有訪問權限的錯誤? 反編譯的代碼中沒有私有的構造函數...
您無法創建object
的實例。 這就是Kotlin定義單例的方式。 如果要實例化它,則必須將其聲明為普通class
。
如果實際上您確實希望它是一個單例,但是希望在Java端具有該單個實例,那么我想您可以將其引用為Test.INSTANCE
。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.