Java中私有構造函數的原理是什么,針對這個問題,這篇文章詳細介紹了相對應的分析和解答,希望可以幫助更多想解決這個問題的小伙伴找到更簡單易行的方法。
1. 強調類的單例模式
public class Elvs { //公有的靜態域,來說明該類只能有一個實例(實例化一次后,后面都是同一個實例) public static final Elvs INSTANCE=new Elvs(); private Elvs(){}//將構造函數定義為私有變量后,就不能在外部去調用構造函數實例化類了 public void sys() { System.out.println("******"); }}public class Main { public static void main(String[] args){ Elvs elvs=Elvs.INSTANCE; elvs.sys(); }}
注意上面的代碼中,在其他的外部類中去實例化Elvs時,只能通過靜態變量INSTANCE
public class Elvs { private static final Elvs INSTANCE = new Elvs(); private Elvs() {} public static Elvs getInstance() {return INSTANCE;} public void sys() { System.out.println("******"); }}public class Main { public static void main(String[] args){ Elvs elvs=Elvs.getInstance(); elvs.sys(); }}
根據靜態方法來獲取類的實例,也是只能獲取一個實例,實現單例模式
2. 通過類的私有構造函數來強調類的不可實例化
例如在實際的應用中,工具類,或者整個工程的常量類,在類中只有靜態常量,
這時我們可以在類中去定義一個私有的構造函數,然后在類中不去調用它,這樣
在其他的類處就不能實例化這個常量類了。
關于Java中私有構造函數的原理是什么問題的解答就分享到這里了,希望以上內容可以對大家有一定的幫助,如果你還有很多疑惑沒有解開,可以關注億速云行業資訊頻道了解更多相關知識。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。