色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

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

    文章

    768

    瀏覽量

    45667
  • 編譯器
    +關注

    關注

    1

    文章

    1629

    瀏覽量

    49115
收藏 人收藏

    評論

    相關推薦

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

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

    OpenHarmony中的模式實踐

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

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

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

    設計模式在網管系統中的設計與實現

    將設計模式引入網管系統可以減少管理系統設計的復雜度,提高系統的開發效率。在分析設計模式中的Singleton模式、Adapter模式、Obs
    發表于 03-04 22:20 ?14次下載

    關于iOS開發單使用問題

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

    模式詳解

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

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

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

    Land Pattern and Solder Stencil

    Land Pattern and Solder Stencil
    發表于 02-19 11:47 ?7次下載
    Land <b class='flag-5'>Pattern</b> and Solder Stencil

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

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

    Controller并發安全的解決辦法

    模式Singleton)是程序設計中一種非常重要的設計模式,設計模式也是Java面試重點考
    的頭像 發表于 06-15 17:10 ?1699次閱讀

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

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

    Python實現模式的五種寫法

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

    一文詳解UVM設計模式

    本篇是對UVM設計模式 ( 二 ) 參數化類、靜態變量/方法/類、模式、UVM_ROOT、工廠模式
    的頭像 發表于 08-06 10:38 ?1801次閱讀
    一文詳解UVM設計<b class='flag-5'>模式</b>

    php設計模式和應用場景

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

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

    Stage模型中,實現standard、singleton、specified多種模式場景。
    的頭像 發表于 04-10 16:32 ?511次閱讀
    OpenHarmony鴻蒙開發學習:【Ability的啟動<b class='flag-5'>模式</b>】
    主站蜘蛛池模板: 拔萝卜视频免费看高清| 亚洲.日韩.欧美另类| 蜜桃传媒星空传媒在线播放| 狠很橹快播| 狠狠色狠狠色综合日日92| 国产亚洲精品久久久久苍井松 | 全免费午夜一级毛片| 内射少妇36P亚洲区| 毛片免费观看| 毛片网站在线观看| 蜜柚免费视频高清观看在线| 美女18黄| 欧美日韩一区二区三区四区| 泡妞高手在都市完整版视频免费| 漂亮的av女演员| 日本一区二区三区在线观看网站 | 久久久久国产一级毛片高清片 | 国产精品色吧国产精品| 国产日韩欧美高清免费视频| 黑人特黄AA完整性大片| 久久九九亚洲精品| 妙玉被肉干高H潮文| 日本久久频这里精品99| 天天色天天综合网| 亚洲精品中文字幕一二三四区| 夜色帮首页| 97视频精品| 嘟嘟嘟影院免费观看视频| 国产精品爽黄69天堂A片| 国产在线视精品在亚洲| 久久精品动漫99精品动漫| 理论片午午伦夜理片2021| 欧美最猛12teevideos| 熟女久久久久久久久久久| 亚洲电影网址| 专干老肥熟女视频网站300部| 99精品国产福利在线观看| 国产超碰AV人人做人人爽| 国产亚洲一区二区三区啪| 老鸭窝毛片| 视频成人永久免费下载|