私有構造不允許創建例如對象這裏是代碼..java中私有構造函數的用法是什麼?
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();
}
}
輸出:成員函數調用
它確保你沒有人能夠創建一個新的實例(除非那個人知道反射),當你想要一個類的一個實例,比如Singleton模式時,它很有用。 – 2013-07-14 20:31:13