本篇內容介紹了“Java單例模式和多例模式是什么”的有關知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領大家學習一下如何處理這些情況吧!希望大家仔細閱讀,能夠學有所成!
成都創(chuàng)新互聯(lián)主營祿勸網站建設的網絡公司,主營網站建設方案,重慶APP開發(fā),祿勸h5小程序定制開發(fā)搭建,祿勸網站營銷推廣歡迎祿勸等地區(qū)企業(yè)咨詢
一 單例模式
1 代碼
class Boss{ private static Boss instance;// 靜態(tài)成員變量,用來保存唯一創(chuàng)建的對象實例 private Boss () { // 利用私有化構造方法,阻止外部創(chuàng)建對象 } public static Boss findBoss() //檢查并確保只有一個實例 { if (instance == null) { System.out.println("當前沒有老板,馬上指派一個!"); instance = new Boss(); } else { System.out.println("已經有老板了!直接來匯報吧。"); } return instance; }}public class Singleton{ public static void main(String[] args) { Boss boss1 = null; // 聲明對象boss1 Boss boss2 = null; // 聲明對象boss2 boss1 = Boss.findBoss();//實例化對象 boss2 = Boss.findBoss();//實例化對象 }}
2 運行
當前沒有老板,馬上指派一個!已經有老板了!直接來匯報吧。
二 多例模式
1 代碼
// 枚舉類enum Sex { 男性, 女性};class sexClass { private String title; // 保存信息 private static final sexClass MALE = new sexClass("男"); private static final sexClass FEMALE = new sexClass("女"); private sexClass( String title ) //私有構造方法 { this.title = "創(chuàng)造的對象性別為: " + title; System.out.println("構造函數(shù)"+title); } public static sexClass getInstance( Sex sex )//static方法 { switch (sex) { case 男性: return MALE; case 女性: return FEMALE; default: return null; } } @Override public String toString() { return this.title; }}public class TestMultiton { public static void main( String args[] ) { System.out.println(sexClass.getInstance(Sex.男性)); // 如果把這句也注釋上,則輸出結果為空,體現(xiàn)出賴加載(用時才加載該類) //System.out.println(sexClass.getInstance(Sex.女性)); }}
2 運行
構造函數(shù)男構造函數(shù)女創(chuàng)造的對象性別為: 男
3 說明
多例設計模式,實際就是“單例設計模式”的擴展版。設計思想和實現(xiàn)步驟都非常類似。
“Java單例模式和多例模式是什么”的內容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業(yè)相關的知識可以關注創(chuàng)新互聯(lián)網站,小編將為大家輸出更多高質量的實用文章!