使用 "this" 获取 kotlin 中伴随范围内的类实例



嗨,我试图从(安卓工作室(Kotlin中的配套作用域访问父类实例,就像一样

class A{
companion object{
val class_instance = this@A
}
}

但它不起作用,而且它超出了Companion的范围。有什么方法可以完成吗?如果没有,为什么?

提前谢谢。

类需要默认实例的情况应该有些罕见,但在某些情况下这是有意义的。标准库的Random类有一个默认实例,他们通过将其伴随对象作为Random本身的子类来实现这一点。

有意义的情况可能是抽象类,它们可以具有自定义的子类,但具有通常足以满足大多数需求的默认实现。

例如,您可以将A的伴随对象作为A的子类,如下所示:

abstract class A {
abstract fun saySomething()
companion object: A() {
override fun saySomething() = println("Hello world")
}
}

最新更新