2014-01-07 60 views
1

我可以檢查伴隨對象中字段的值而不引用類的實際對象嗎?Scala伴隨對象中的「靜態」字段

我想存儲一個靜態計數器,每當創建該類的新對象時增加它,並且能夠在不使用對象本身的情況下檢查它的值,這可能嗎?

+0

你能否提供一些代碼示例,你想實現什麼?因爲現在聽起來你所需要的只是對象中的一個普通變量。 –

+0

你是如何從外部Foo訪問Foo.counter的? –

回答

6

這是你想要的嗎?

object Foo { 
     private var counter = 0 
     private def increment = { 
      counter += 1; 
      counter 
     } 
    } 

    class Foo { 
     val i = Foo.increment 
     println(i) 
    } 
+0

好的,從來沒有 - 我嘗試從Foo {}之外的Foo {}之外訪問Foo.counter,它似乎沒有工作,但它現在可以工作。抱歉,添麻煩了! –

5
import java.util.concurrent.atomic.AtomicInteger 
object Foo { 
    val counter = new AtomicInteger(0) 
} 
class Foo { 
    val i = Foo.counter.incrementAndGet() 
    println(i) 
} 
相關問題