有没有办法在 Kotlin 单例对象上隐藏 INSTANCE 变量
Is there a way to hide the INSTANCE variable on a Kotlin singleton object
如果我有这样的代码
object ObjectTest {
@JvmStatic
fun init() {
}
}
是否可以隐藏 Kotlin 自动生成的 ObjectTest.INSTANCE
变量?我不希望该对象可以通过实例访问,也不希望它有任何实例方法,所以 INSTANCE
变量只是污染自动完成,可能会让潜在用户感到困惑(此代码适用于将被别人消费)。
是的,您可以将 object
转换为普通文件。
@file:JvmName("ObjectTest")
// maybe a package statement here
fun init() {
// here `init` is public static final void
}
并且没有 INSTANCE
对象。在 Kotlin 中,这是一个顶级函数,但在 Java 中,它是一个名为 ObjectTest
的 class 和一个私有构造函数,并且它有一个名为 init
的 public static final void
方法.
如果我有这样的代码
object ObjectTest {
@JvmStatic
fun init() {
}
}
是否可以隐藏 Kotlin 自动生成的 ObjectTest.INSTANCE
变量?我不希望该对象可以通过实例访问,也不希望它有任何实例方法,所以 INSTANCE
变量只是污染自动完成,可能会让潜在用户感到困惑(此代码适用于将被别人消费)。
是的,您可以将 object
转换为普通文件。
@file:JvmName("ObjectTest")
// maybe a package statement here
fun init() {
// here `init` is public static final void
}
并且没有 INSTANCE
对象。在 Kotlin 中,这是一个顶级函数,但在 Java 中,它是一个名为 ObjectTest
的 class 和一个私有构造函数,并且它有一个名为 init
的 public static final void
方法.