質問者さん(>>146)はシングルトンの意味なんか聞いてないし、そもそもCalendarクラスはシングルトンパターンじゃないよ
Calendarフィールド持ってないから

>>146
Calendarクラスは、すごく大まかに言うとこんな構造です
public abstract class Calendar {
protected Calendar {
}

public static getInstance() {
Calendar cal = new Calendar();
// calをいろいろ加工
return cal;
}
}
直接インスタンス化できない抽象クラスとして定義され、他クラスからはgetInstanceメソッドを使わないとインスタンスを得られないようになっています
このように、理由はどうあれコンストラクタを使わせない意図でインスタンスを返すメソッドを持たせる手法もある、というだけの事です