问题
Can I check the value of field in companion object without referring to class' actual object?
I'd like to store a static counter, increase it everytime new object of that class is created and be able to check it's value without using object itself, is this possible?
回答1:
Is this what you want?
object Foo {
private var counter = 0
private def increment = {
counter += 1;
counter
}
}
class Foo {
val i = Foo.increment
println(i)
}
回答2:
import java.util.concurrent.atomic.AtomicInteger
object Foo {
val counter = new AtomicInteger(0)
}
class Foo {
val i = Foo.counter.incrementAndGet()
println(i)
}
来源:https://stackoverflow.com/questions/20963080/static-field-in-scala-companion-object