Java私有構(gòu)造函數(shù)作用原理解析
這篇文章主要介紹了Java私有構(gòu)造函數(shù)作用原理解析,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
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)類的不可實例化
例如在實際的應用中,工具類,或者整個工程的常量類,在類中只有靜態(tài)常量,
這時我們可以在類中去定義一個私有的構(gòu)造函數(shù),然后在類中不去調(diào)用它,這樣
在其他的類處就不能實例化這個常量類了。
以上就是本文的全部內(nèi)容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
springboot開發(fā)flowable定時任務問題
這篇文章主要介紹了springboot開發(fā)flowable定時任務問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2023-11-11
使用Filter過濾器中訪問getSession()要轉(zhuǎn)化
這篇文章主要介紹了使用Filter過濾器中訪問getSession()要轉(zhuǎn)化,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2022-01-01
SpringCloud Alibaba使用Seata處理分布式事務的技巧
在傳統(tǒng)的單體項目中,我們使用@Transactional注解就能實現(xiàn)基本的ACID事務了,隨著微服務架構(gòu)的引入,需要對數(shù)據(jù)庫進行分庫分表,每個服務擁有自己的數(shù)據(jù)庫,這樣傳統(tǒng)的事務就不起作用了,那么我們?nèi)绾伪WC多個服務中數(shù)據(jù)的一致性呢?跟隨小編一起通過本文了解下吧2021-06-06
springboot快速集成mybatis-plus的詳細教程
這篇文章主要介紹了springboot快速集成mybatis-plus的教程,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下2020-09-09
關(guān)于@Scheduled不執(zhí)行的原因分析
這篇文章主要介紹了關(guān)于@Scheduled不執(zhí)行的原因分析,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2021-12-12

