"Static" field in Scala companion object

6.8k views Asked by At

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?

2

There are 2 answers

1
Vidya On BEST ANSWER

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)
    }
0
flavian On
import java.util.concurrent.atomic.AtomicInteger
object Foo {
  val counter = new AtomicInteger(0)
}
class Foo {
  val i = Foo.counter.incrementAndGet()
  println(i)
}