gpt4 book ai didi

java - 为什么我不能从 Java 端创建 Kotlin 对象?

转载 作者:行者123 更新时间:2023-11-30 06:44:54 25 4
gpt4 key购买 nike

我正在研究 Kotlin 与 Java 的互操作性。

我找不到这样的答案。我有一个来自 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 has private access?反编译代码中没有私有(private)构造函数...

最佳答案

您不能创建对象的实例。这就是 Kotlin 定义单例的方式。如果你想能够实例化它,你必须将它声明为一个普通的

如果您确实希望它是一个单例,但希望在 Java 端使用该单个实例,我想您可以将其引用为 Test.INSTANCE

关于java - 为什么我不能从 Java 端创建 Kotlin 对象?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49958189/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com