我最近學到了一種叫做singleton類的Designed模式。 (我們不需要爲調用方法創建對象),最後(我們需要指定值/類不能擴展/方法不能被overrided等)和構造函數(方法具有相同的名稱,當我們創建對象時會自動調用)等等。 因此,這裏發生在我身上的是我無法涉及所有事情。請向部門解釋這是如何工作的。 爲什麼我們使用私有構造函數,靜態塊等等 在這裏它的代碼,請逐行解釋我。如果單例類構造函數是私有的,並從其他類調用方法* SEE CODE *那麼它如何工作
public class Sample {
final static Sample s;
static {
s= new Sample();
}
private Sample() {
}
static Sample getSample() {
return s;
}
}
public class Runner {
public static void main(String[] args) {
Sample s1 = Sample.getSample();
int x=s1.hashCode();
Sample s2 =Sample.getSample();
int y= s2.hashCode();
System.out.println(x);
System.out.println(y);
}
}
'static'塊在同一個類中,因此它可以訪問'private'構造函數。 –
私有構造函數,以便它可以從類內調用。 – nullpointer
單例的目的是控制對實例的訪問。通過使用私有構造函數和訪問器方法,可以防止其他人構建實例。因此你有一個單身人士。 – dave