プライベートコンストラクターは、オブジェクトの作成を許可しません。たとえば、ここにコードがあります..
class emp
{
private emp()//private constructor
{
}
}
public class privateconstructor
{
public static void main(String[] args)
{
emp e = new emp();//throws Error as constructor not visible
}
}
クラスを抽象ユーザーとして宣言することにより、オブジェクトの作成を防ぐこともできます..だから私の質問は、なぜプライベートコンストラクターですか?
参考までに:
オブジェクトはたとえば 静的メソッドで作成できますが..
class emp
{
private emp()//private constructor
{
}
static emp createInstance()//static method
{
return new emp();//returns an instance
}
void disp()
{
System.out.println("member function called");
}
}
public class privateconstructor
{
public static void main(String[] args)
{
emp e = emp.createInstance();//creating object by static method
e.disp();
}
}
出力: 呼び出されたメンバー関数