前幾天看了一些Java代碼,我看到了一些我以前沒見過的東西,並且有些困惑。部分代碼如下所示:公共類與相同類的私有靜態變量
public class PreferredAlternateProxy {
...
private static PreferredAlternateProxy instance;
...
public static PreferredAlternateProxy getInstance(){
if(instance == null)
createInstance();
return instance;
}
private static synchronized void createInstance(){
if(instance == null)
instance = new PreferredAlternateProxy();
}
}
什麼是聲明的同一類的靜態屬性作爲公共類的目的是什麼?這在什麼情況下有用?
使第二個方法(createInstance())同步的目的是什麼?
Google Singleton –
'「使第二個方法(createInstance())同步的目的是什麼?」 - 所以可以懶惰地創建一個且只有一個實例。 –
這段代碼是否完全脫離了上下文?或者是否有文件,評論或其他解釋? –