0
时,在这个例子中f
我不能引用类的内部构造函数的参数是悬而未决时bar
对象被声明:为什么定义对象
open class Bar(val b: Int)
class Foo(val f: Int) {
object bar : Bar(f)
// ^
// Unresolved reference: f
}
但是,当我宣布bar
作为一个变量,它工作得很好:
open class Bar(val b: Int)
class Foo(val f: Int) {
val bar = Bar(f)
}
因此,我定义对象的方式与定义伴随对象相同,并根据文档:“伴随对象在相应的类加载(解析)时初始化,匹配Java静态初始化器的语义”,对吧? –
是的,我猜你需要的是伴侣对象。 – Jacob
明白了,谢谢。 –