在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

單例模式(Singleton Pattern)實現的方法

冬至子 ? 來源:全棧開發的碼農 ? 作者:全棧開發的碼農 ? 2023-06-01 11:44 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

單例模式是指某個類只允許存在一個實例對象,例如在打印機打印文件時,一次只允許打印一個文件;一個程序里的相同彈出對話框只允許有一個。

單例模式通常在需要控制對象數量以節省資源消耗的情況,在實際軟件設計中非常常用,特別是在多線程多進程時,可以避免產生多個實例對象,造成資源浪費。

實現的方法是在類里創建一個private構造函數,這樣其他類就無法通過new的方式生成其實例,只能通過類內部所定義的getInstance()方法生成實例,具有私有的構造函數是單例模式的一個顯著特征。單例模式的一個簡單示例類圖如下圖所示:

圖片

SingleInstance類的代碼如下:

package singleton;
public class SingleInstance {
  //創建類時創建一個實例
  private static SingleInstance singleInstance=new SingleInstance();
  //私有構造函數
  private SingleInstance() {};
  //生成單實例
  public static SingleInstance getSingleInstance() {
    return singleInstance;
  }
  public void showMessage() {
    System.out.println("單例模式信息!");
  }
}

調用SingleInstance生成對象的錯誤方法:用new方法生成對象時,編譯器會報錯。

圖片

調用SingleInstance生成對象的正確方法:

public class SingletonPattern {
  public static void main(String[] args) {
    SingleInstance singleInstance = SingleInstance.getSingleInstance();
    singleInstance.showMessage();
    /*錯誤的調用方法
    SingleInstance singleInstance = new SingleInstance();
    */
  }
}
聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 打印機
    +關注

    關注

    10

    文章

    796

    瀏覽量

    46923
  • 編譯器
    +關注

    關注

    1

    文章

    1658

    瀏覽量

    50007
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    dlpc3470 Splash Pattern模式為什么會設置最大Pattern周期,這個最大周期能否更改?

    dlpc3470 Splash Pattern 模式為什么會設置最大 Pattern 周期,這個最大周期能否更改?
    發表于 02-19 08:41

    DLP4500每個pattern的曝光時間怎么設置?

    我的應用將圖片燒錄到flash中然后在pattern模式下play。但是由于要顯示的pattern太多了,總是需要不停地upload bin文件,時間都花在了燒錄bin文件上了。因此我想用
    發表于 02-24 08:17

    請問external pattern sequence子模式的正確使用方式是什么?

    在做結構光成像的相關研究中,想投影大量正弦條紋圖(比如60張)并配合相機實現外觸發,根據查閱用戶手冊和編程手冊,應該將lightcrafter設置為hdmi模式下的external pattern
    發表于 02-28 08:38

    DLP中video模式pattern模式有什么區別?

    你好,請問,在DLP相關文檔中,有提到video模式pattern模式,請問這兩種模式有什么區別?
    發表于 03-03 08:32

    2018年Python面試必看的10個面試題

    模式是最好的解決方案。__new__()在__init__()之前被調用,用于生成實例對象。利用這個方法和累的屬性的特點可以實現設計
    發表于 07-18 14:52

    OpenHarmony中的模式實踐

    本文件簡述了實例的基本知識及其應用場景,并以OpenHarmony中的代碼為分別從C和C++語言角度來分析和學習實例模式實例
    發表于 09-15 09:27

    利用golang優雅的實現實例分享

    1、利用golang優雅的實現實例平時編寫代碼過程中,經常會遇到對于全局角度只需運行一次的代碼,比如全局初始化操作,設計模式中的
    發表于 10-17 16:46

    關于iOS開發單使用問題

    原文鏈接:Avoiding Singleton Abuse 導語 (Singletons),是Cocoa的核心模式之一。在iOS上,
    發表于 09-25 16:25 ?0次下載

    模式詳解

    是private的話,會不更好的封裝該內呢?我主要是應用在使用普通類模擬枚舉類型里,后來發現這就是傳說中的模式。構造函數弄成private 就是
    發表于 09-27 15:10 ?0次下載

    模式分成餓漢模式和懶漢模式解析

    定義:作為對象的創建模式模式確保某一個類只有一個實例,而且自行實例化并向整個系統提供這個實例。這個類稱為
    發表于 12-11 09:49 ?1746次閱讀

    為什么C++模式不能直接全部使用static變量和static函數呢?

    通過getInstance()函數獲取對象,這種模式的關鍵之處不是在于強迫你用函數來獲取對象。關鍵之處是讓static對象定義在函數內部,變成局部static變量。看下這種實現方式
    的頭像 發表于 06-05 14:14 ?1749次閱讀

    嵌入式C語言軟件設計之裝飾器模式(Decorator Pattern

    裝飾器模式(Decorator Pattern),是結構型設計模式的一種,裝飾器模式允許向一個現有的對象添加新的功能,而又不改變其對象結構,這種方式比使用子類繼承的方式更加靈活。
    發表于 03-01 10:55 ?563次閱讀

    Python實現模式的五種寫法

    模式Singleton Pattern) 是一種常用的軟件設計模式,該
    的頭像 發表于 05-24 11:27 ?634次閱讀

    php設計模式和應用場景

    ,從小型的網站到大型的企業級應用程序。 下面將介紹一些常見的PHP設計模式及其應用場景。 模式Singleton
    的頭像 發表于 12-04 14:54 ?1189次閱讀

    OpenHarmony鴻蒙開發學習:【Ability的啟動模式

    Stage模型中,實現standard、singleton、specified多種模式場景。
    的頭像 發表于 04-10 16:32 ?853次閱讀
    OpenHarmony鴻蒙開發學習:【Ability的啟動<b class='flag-5'>模式</b>】
    主站蜘蛛池模板: 欧美性猛交aa一级 | 欧美另类高清 | 欧美日韩国产一区二区 | 在线免费观看色视频 | 天天色天天射天天操 | 国产精品三级国语在线看 | 亚洲va老文色欧美黄大片人人 | 久草免费在线播放 | 亚洲人成www在线播放 | 国产美女作爱全过程免费视频 | 一区二区三 | 欧美大片一区二区三区 | 国产精品天天看 | 888xxxx免费视频 | 久久综合九色综合98一99久久99久 | 亚洲最大成人 | www.日本三级| 亚洲乱码卡一卡二卡三永久 | 666精品国产精品亚洲 | 午夜免费小视频 | 爱草视频 | 免费日韩三级 | 手机看片自拍自自拍日韩免费 | 你懂的在线免费视频 | 久久国内 | 男人j进入女人免费视频 | 91av视频在线 | 亚洲伊人精品综合在合线 | 狠狠色丁香久久婷婷综 | 我想看一级播放片一级的 | 黄色在线播放网址 | 亚洲伊人久久网 | 久久国产成人午夜aⅴ影院 久久国产福利 | 天天干夜夜添 | 亚洲一级毛片免费在线观看 | 五月激情丁香 | 日韩成人影院 | 福利99| 日本免费观看完整视频 | 都市激情亚洲综合 | 婷婷开心激情网 |