Java私有構(gòu)造函數(shù)作用原理解析
這篇文章主要介紹了Java私有構(gòu)造函數(shù)作用原理解析,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
1. 強調(diào)類的單例模式
public class Elvs { //公有的靜態(tài)域,來說明該類只能有一個實例(實例化一次后,后面都是同一個實例) public static final Elvs INSTANCE=new Elvs(); private Elvs(){}//將構(gòu)造函數(shù)定義為私有變量后,就不能在外部去調(diào)用構(gòu)造函數(shù)實例化類了 public void sys() { System.out.println("******"); } } public class Main { public static void main(String[] args){ Elvs elvs=Elvs.INSTANCE; elvs.sys(); } }
注意上面的代碼中,在其他的外部類中去實例化Elvs時,只能通過靜態(tài)變量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(); } }
根據(jù)靜態(tài)方法來獲取類的實例,也是只能獲取一個實例,實現(xiàn)單例模式
2. 通過類的私有構(gòu)造函數(shù)來強調(diào)類的不可實例化
例如在實際的應(yīng)用中,工具類,或者整個工程的常量類,在類中只有靜態(tài)常量,
這時我們可以在類中去定義一個私有的構(gòu)造函數(shù),然后在類中不去調(diào)用它,這樣
在其他的類處就不能實例化這個常量類了。
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
Java數(shù)據(jù)結(jié)構(gòu)之鏈表的增刪查改詳解
在這篇文章中,小編將帶大家了解一下Java數(shù)據(jù)結(jié)構(gòu)中鏈表的增刪查改(以下結(jié)果均在IDEA中編譯)希望在方便自己復(fù)習(xí)的同時也能幫助到大家2022-09-09java 將 list 字符串用逗號隔開拼接字符串的多種方法
這篇文章主要介紹了java 將 list 字符串用逗號隔開拼接字符串,本文給大家分享四種方法,每種方法通過實例代碼給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2021-12-12Lombok為啥這么牛逼?SpringBoot和IDEA官方都要支持它
Lombok是一款Java代碼功能增強庫,在Github上已有9.8k+Star。這篇文章主要介紹了Lombok為啥這么牛逼?SpringBoot和IDEA官方都要支持它,需要的朋友可以參考下2020-12-12Java 實戰(zhàn)項目之小說在線閱讀系統(tǒng)的實現(xiàn)流程
讀萬卷書不如行萬里路,只學(xué)書上的理論是遠遠不夠的,只有在實戰(zhàn)中才能獲得能力的提升,本篇文章手把手帶你用java+SSM+jsp+mysql+maven實現(xiàn)前臺閱讀后臺管理的小說在線閱讀系統(tǒng),大家可以在過程中查缺補漏,提升水平2021-11-11Spring中@Autowired和@Qualifier注解的3個知識點小結(jié)
這篇文章主要介紹了Spring中@Autowired和@Qualifier注解的3個知識點小結(jié),具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2021-09-09