天天看點

java 靜态類執行個體_Java中多個類的靜态執行個體?

我是新的請不要介意,如果你發現問題愚蠢。我正在搞亂單身代碼。我改變了一點(我的問題與單身無關,是的我已經删除了單執行個體檢查)。我的問題是雖然java中的類執行個體隻能是一個為什麼輸出中有兩個靜态類“instance”(參見hash)。我知道“new”關鍵字會給出一個新的記憶體位址(那就是用哈希列印的内容)但是isn' t靜态類執行個體應該是一個?是以我得到兩個哈希用于列印對象執行個體,靜态變量k具有相同的值,這很好。

public class Singleton {

private static Singleton instance;

static int k;

public static Singleton getInstance(){

try{

instance = new Singleton();

System.out.println(instance);

}catch(Exception e){

throw new RuntimeException("Exception occured in creating singleton instance");

}

return instance;

}

public static void main(String[] ar) {

Singleton c1=Singleton.getInstance();

c1.k=1;

Singleton c2=Singleton.getInstance();

c2.k=2;

System.out.println(c1.k);

System.out.println(c2.k);

}

}

輸出:

[email protected]

[email protected]

2

2