>>80
一段落目:コンストラクタはprotectedで公開するだろうしサブクラスからは問題なくアクセスできるんちゃう?
二段落目:staticメソッドでアクセスできてもインスタンス化してないんじゃ状態をもてないでしょ。
三段落目:Singletonインスタンスへのリファレンスが一意であるとしてsomeObj == otherObjとしたときは問題になるかも。
でも、そういうことを避けるために隠蔽をかけるわけで、someObj.equals(otherObj)とやらせて==使ったときの挙動は保障しませんよとする。
C++とかではグローバルなスコープに一個だけオブジェクトを作成して他からexternさせる形をとる変わりに、
ファクトリメソッド使わせて一個のインスタンスを共有させるとか。