我有一个Scala类,它的伴随对象(在Client.scala中)如下:
class Client(val key: Int) {
private val num_bits = 5
}
object Client {
val count_entries = Math.pow(2, num_bits).toInt
println(count_entries)
}
但是,它会在not found: value num_bits
的客户端对象中引发错误。有人可以帮忙吗?
答案 0 :(得分:2)
你可以像这样使用它:
class Client(val key: Int) {
private val num_bits = 5
}
object Client {
val count_entries = Math.pow(2, new Client(0).num_bits)
println(count_entries)
}
如果要使用它,则必须创建对象。
答案 1 :(得分:1)
你是对的。 Companion对象是 singleton 对象,而类有多个实例。因此,您必须拥有该类的实例才能访问其字段 - 否则,该对象所引用的类num_bits
的实例是什么?