Java 構造方法私有化的作用

2021-07-22 08:53:55 字數 1039 閱讀 2273

public class demo08 

}class demo

public void print()

}

此時,無法例項化物件,無法例項化物件就無法呼叫print方法。

public class demo08 

}class demo

public static demo getinstance()

public void print()

}

分析:

為什麼要將構造方法私有化?

問:如果要限制乙個類物件產生,即:乙個類只能有乙個例項化物件,該怎麼做?

答:例項化物件肯定要呼叫構造方法,如果將構造方法藏起來,則外部肯定無法直接呼叫,就肯定不能用new關鍵字呼叫構造方法例項。

public class demo09 

}class demo

public static demo getinstance()

public void print()

}

所以此設計在系統中稱為單例設計(單態設計),在windows中也有此設計的存在。windows中的**站,所有的盤都共享同乙個**站,這就是乙個典型的單態設計。

多例設計:

在類中會準備出多個物件,之後根據傳入的引數不同,可以返回不同的物件。

public class demo08 

}class demo

public static demo getinstance(int t)

return d1;

} else if (t == 2)

return d2;

} else

}public void print()

}

構造方法私有化

本章目標 了解構造方法私有化的目的 掌握單態設計模式 構造方法私有化 類的封裝性不光體現在對屬性的封裝上,實際上方法也是可以被封裝的,當然,在方法封裝中也包含了對構造方法的封裝。例如 以下的 就是對構造方法進行了封裝。class singleton public void print 程式的意義 單...

私有化建構函式的作用

例如 public class diskutil public static func 這樣的類,往往提供一些靜態的函式來生成該類的例項,只要這個類有公開的屬性 方法,得到例項引用的一方還是可以呼叫的,乙個例子是singleton。外面呼叫只能呼叫diskutil 的靜態函式func,而不能a a ...

構造方法私有化作用

現在觀察以下的 class demo public void print 要求 例項化demo物件,同時呼叫print方法 public class demo08 此時,無法例項化物件,無法例項化物件就無法呼叫print方法。class demo public static demo getinst...