我碰到的是成立一個這樣的類跑:靜態變量和方法
public class MyClass {
private static boolean started = false;
private MyClass(){
}
public static void doSomething(){
if(started){
return;
}
started = true;
//code below that is only supposed to run
//run if not started
}
}
我與靜態方法的理解是,你不應該使用類變量,除非他們是常數,不改變。相反,你應該使用參數。我的問題是爲什麼當通過執行MyClass.doSomething()多次調用時,這不會中斷。在我看來,它不應該工作,但確實如此。它只會通過if語句一次。
所以有人可以向我解釋爲什麼這不會中斷嗎?
那麼是說你保證只有一個這個類的拷貝會被初始化並且在整個應用程序運行期間被使用?我擔心的是,我不確定是否每次都使用同一個實例,並且變量值不一致。 – 2009-03-03 12:34:47
正確答案+1。另外,這裏有一個地方可以獲得關於靜態變量的更多信息。可能對你來說是一件好事,bigbrother82:http://en.wikipedia.org/wiki/Static_variable – Welbog 2009-03-03 12:35:26