女人自慰AV免费观看内涵网,日韩国产剧情在线观看网址,神马电影网特片网,最新一级电影欧美,在线观看亚洲欧美日韩,黄色视频在线播放免费观看,ABO涨奶期羡澄,第一导航fulione,美女主播操b

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫(xiě)文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

單例模式(Singleton Pattern)實(shí)現(xiàn)的方法

冬至子 ? 來(lái)源:全棧開(kāi)發(fā)的碼農(nóng) ? 作者:全棧開(kāi)發(fā)的碼農(nóng) ? 2023-06-01 11:44 ? 次閱讀

單例模式是指某個(gè)類(lèi)只允許存在一個(gè)實(shí)例對(duì)象,例如在打印機(jī)打印文件時(shí),一次只允許打印一個(gè)文件;一個(gè)程序里的相同彈出對(duì)話框只允許有一個(gè)。

單例模式通常在需要控制對(duì)象數(shù)量以節(jié)省資源消耗的情況,在實(shí)際軟件設(shè)計(jì)中非常常用,特別是在多線程多進(jìn)程時(shí),可以避免產(chǎn)生多個(gè)實(shí)例對(duì)象,造成資源浪費(fèi)。

實(shí)現(xiàn)的方法是在類(lèi)里創(chuàng)建一個(gè)private構(gòu)造函數(shù),這樣其他類(lèi)就無(wú)法通過(guò)new的方式生成其實(shí)例,只能通過(guò)類(lèi)內(nèi)部所定義的getInstance()方法生成實(shí)例,具有私有的構(gòu)造函數(shù)是單例模式的一個(gè)顯著特征。單例模式的一個(gè)簡(jiǎn)單示例類(lèi)圖如下圖所示:

圖片

SingleInstance類(lèi)的代碼如下:

package singleton;
public class SingleInstance {
  //創(chuàng)建類(lèi)時(shí)創(chuàng)建一個(gè)實(shí)例
  private static SingleInstance singleInstance=new SingleInstance();
  //私有構(gòu)造函數(shù)
  private SingleInstance() {};
  //生成單實(shí)例
  public static SingleInstance getSingleInstance() {
    return singleInstance;
  }
  public void showMessage() {
    System.out.println("單例模式信息!");
  }
}

調(diào)用SingleInstance生成對(duì)象的錯(cuò)誤方法:用new方法生成對(duì)象時(shí),編譯器會(huì)報(bào)錯(cuò)。

圖片

調(diào)用SingleInstance生成對(duì)象的正確方法:

public class SingletonPattern {
  public static void main(String[] args) {
    SingleInstance singleInstance = SingleInstance.getSingleInstance();
    singleInstance.showMessage();
    /*錯(cuò)誤的調(diào)用方法
    SingleInstance singleInstance = new SingleInstance();
    */
  }
}
聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 打印機(jī)
    +關(guān)注

    關(guān)注

    10

    文章

    791

    瀏覽量

    46688
  • 編譯器
    +關(guān)注

    關(guān)注

    1

    文章

    1653

    瀏覽量

    49843
收藏 人收藏

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    dlpc3470 Splash Pattern模式為什么會(huì)設(shè)置最大Pattern周期,這個(gè)最大周期能否更改?

    dlpc3470 Splash Pattern 模式為什么會(huì)設(shè)置最大 Pattern 周期,這個(gè)最大周期能否更改?
    發(fā)表于 02-19 08:41

    DLP4500每個(gè)pattern的曝光時(shí)間怎么設(shè)置?

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

    請(qǐng)問(wèn)external pattern sequence子模式的正確使用方式是什么?

    在做結(jié)構(gòu)光成像的相關(guān)研究中,想投影大量正弦條紋圖(比如60張)并配合相機(jī)實(shí)現(xiàn)外觸發(fā),根據(jù)查閱用戶(hù)手冊(cè)和編程手冊(cè),應(yīng)該將lightcrafter設(shè)置為hdmi模式下的external pattern
    發(fā)表于 02-28 08:38

    DLP中video模式pattern模式有什么區(qū)別?

    你好,請(qǐng)問(wèn),在DLP相關(guān)文檔中,有提到video模式pattern模式,請(qǐng)問(wèn)這兩種模式有什么區(qū)別?
    發(fā)表于 03-03 08:32

    2018年P(guān)ython面試必看的10個(gè)面試題

    模式是最好的解決方案。__new__()在__init__()之前被調(diào)用,用于生成實(shí)例對(duì)象。利用這個(gè)方法和累的屬性的特點(diǎn)可以實(shí)現(xiàn)設(shè)計(jì)
    發(fā)表于 07-18 14:52

    OpenHarmony中的模式實(shí)踐

    本文件簡(jiǎn)述了實(shí)例的基本知識(shí)及其應(yīng)用場(chǎng)景,并以O(shè)penHarmony中的代碼為分別從C和C++語(yǔ)言角度來(lái)分析和學(xué)習(xí)實(shí)例模式實(shí)例
    發(fā)表于 09-15 09:27

    利用golang優(yōu)雅的實(shí)現(xiàn)實(shí)例分享

    1、利用golang優(yōu)雅的實(shí)現(xiàn)實(shí)例平時(shí)編寫(xiě)代碼過(guò)程中,經(jīng)常會(huì)遇到對(duì)于全局角度只需運(yùn)行一次的代碼,比如全局初始化操作,設(shè)計(jì)模式中的
    發(fā)表于 10-17 16:46

    關(guān)于iOS開(kāi)發(fā)單使用問(wèn)題

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

    模式詳解

    是private的話,會(huì)不更好的封裝該內(nèi)呢?我主要是應(yīng)用在使用普通類(lèi)模擬枚舉類(lèi)型里,后來(lái)發(fā)現(xiàn)這就是傳說(shuō)中的模式。構(gòu)造函數(shù)弄成private 就是
    發(fā)表于 09-27 15:10 ?0次下載

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

    定義:作為對(duì)象的創(chuàng)建模式模式確保某一個(gè)類(lèi)只有一個(gè)實(shí)例,而且自行實(shí)例化并向整個(gè)系統(tǒng)提供這個(gè)實(shí)例。這個(gè)類(lèi)稱(chēng)為
    發(fā)表于 12-11 09:49 ?1733次閱讀

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

    通過(guò)getInstance()函數(shù)獲取對(duì)象,這種模式的關(guān)鍵之處不是在于強(qiáng)迫你用函數(shù)來(lái)獲取對(duì)象。關(guān)鍵之處是讓static對(duì)象定義在函數(shù)內(nèi)部,變成局部static變量。看下這種實(shí)現(xiàn)方式
    的頭像 發(fā)表于 06-05 14:14 ?1723次閱讀

    嵌入式C語(yǔ)言軟件設(shè)計(jì)之裝飾器模式(Decorator Pattern

    裝飾器模式(Decorator Pattern),是結(jié)構(gòu)型設(shè)計(jì)模式的一種,裝飾器模式允許向一個(gè)現(xiàn)有的對(duì)象添加新的功能,而又不改變其對(duì)象結(jié)構(gòu),這種方式比使用子類(lèi)繼承的方式更加靈活。
    發(fā)表于 03-01 10:55 ?550次閱讀

    Python實(shí)現(xiàn)模式的五種寫(xiě)法

    模式Singleton Pattern) 是一種常用的軟件設(shè)計(jì)模式,該
    的頭像 發(fā)表于 05-24 11:27 ?610次閱讀

    php設(shè)計(jì)模式和應(yīng)用場(chǎng)景

    ,從小型的網(wǎng)站到大型的企業(yè)級(jí)應(yīng)用程序。 下面將介紹一些常見(jiàn)的PHP設(shè)計(jì)模式及其應(yīng)用場(chǎng)景。 模式Singleton
    的頭像 發(fā)表于 12-04 14:54 ?1146次閱讀

    OpenHarmony鴻蒙開(kāi)發(fā)學(xué)習(xí):【Ability的啟動(dòng)模式

    Stage模型中,實(shí)現(xiàn)standard、singleton、specified多種模式場(chǎng)景。
    的頭像 發(fā)表于 04-10 16:32 ?799次閱讀
    OpenHarmony鴻蒙開(kāi)發(fā)學(xué)習(xí):【Ability的啟動(dòng)<b class='flag-5'>模式</b>】