gpt4 book ai didi

kotlin - 有没有办法在 Kotlin 单例对象上隐藏实例变量

转载 作者:行者123 更新时间:2023-12-02 13:09:20 25 4
gpt4 key购买 nike

如果我有这样的代码

object ObjectTest {
@JvmStatic
fun init() {

}
}

是否可以隐藏 ObjectTest.INSTANCE Kotlin 自动生成的变量?我不希望对象可以通过实例访问,也不会有任何实例方法,所以 INSTANCE变量只是污染自动完成,可能会让潜在用户感到困惑(此代码用于将被其他人使用的库)。

最佳答案

是的,你可以做到,通过转换 object成一个普通文件。

@file:JvmName("ObjectTest")
// maybe a package statement here
fun init() {
// here `init` is public static final void
}

而且没有 INSTANCE目的。在 Kotlin 中,这是一个顶级函数,但在 Java 中,它是一个名为 ObjectTest 的类。有一个私有(private)构造函数,它有一个 public static final void方法称为 init .

关于kotlin - 有没有办法在 Kotlin 单例对象上隐藏实例变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50339751/

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