java单例模式_Java单例模式

java单例模式_Java单例模式单例(Singleton)模式是Java中最简单的设计模式之一。这种类型的设计模式属于创建模式,因为此模式提供了创建对象的最佳方法之一。这种模式涉及一个类,它负责创建一个对象,同时确保只创建一个对象。这个类提供了一种方法来访问它的唯一对象,可以直接访问,而不需要实例化类的对象。实现实例我们将创建一个单一对象类-SingleObject。单个对象(SingleObject)类的构造函数是私有的,…

大家好,又见面了,我是你们的朋友全栈君。

单例(Singleton)模式是Java中最简单的设计模式之一。这种类型的设计模式属于创建模式,因为此模式提供了创建对象的最佳方法之一。

这种模式涉及一个类,它负责创建一个对象,同时确保只创建一个对象。这个类提供了一种方法来访问它的唯一对象,可以直接访问,而不需要实例化类的对象。

实现实例

我们将创建一个单一对象类 – SingleObject。单个对象(SingleObject)类的构造函数是私有的,并且具有自身的静态实例。

SingleObject类提供了一个静态方法来获取其静态实例到外部世界。SingletonPatternDemo或示例类将使用SingleObject类来获取SingleObject对象。

3c3e4a46dc414477306142eb1ab0c8d9.png

第1步

创建一个Singleton类,

SingleObject.java

public class SingleObject {

//create an object of SingleObject

private static SingleObject instance = new SingleObject();

//make the constructor private so that this class cannot be

//instantiated

private SingleObject(){}

//Get the only object available

public static SingleObject getInstance(){

return instance;

}

public void showMessage(){

System.out.println(“Hello World!”);

}

}

第2步

从单例类中获取唯一的对象。

SingletonPatternDemo.java

public class SingletonPatternDemo {

public static void main(String[] args) {

//illegal construct

//Compile Time Error: The constructor SingleObject() is not visible

//SingleObject object = new SingleObject();

//Get the only object available

SingleObject object = SingleObject.getInstance();

//show the message

object.showMessage();

}

}

第3步

验证输出,得到结果如下 –

Hello World!

¥ 我要打赏

纠错/补充

收藏

加QQ群啦,易百教程官方技术学习群

注意:建议每个人选自己的技术方向加群,同一个QQ最多限加 3 个群。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/156927.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • SQL注入报错注入函数[通俗易懂]

    SQL注入报错注入函数[通俗易懂]前言报错注入的前提是当语句发生错误时,错误信息被输出到前端。其漏洞原因是由于开发人员在开发程序时使用了print_r(),mysql_error(),mysqli_connect_error()函数将mysql错误信息输出到前端,因此可以通过闭合原先的语句,去执行后面的语句。常用报错函数updatexml()是mysql对xml文档数据进行查询和修改的xpath函数extractvalue()是mysql对xml文档数据进行查询的xpa…

    2022年9月30日
    0
  • 专业检索工具有哪些_生物教育专业

    专业检索工具有哪些_生物教育专业转载:http://www.jianshu.com/p/ae7c8513bb00我的一位朋友,用了10年的电脑。作为一名老网民,他的信息检索能力让我诧异。每次需要找点图片、网站、研究报告甚至小电影,他都需要花费很多时间,在各个论坛、网站里疲于奔波。因为他只会用百度!然而,世界上不仅仅只有一类搜索引擎。百度或者google虽然可以提供海量的信息,但是信息的甄选是一…

    2022年9月11日
    0
  • 记一次不在状态的大疆面试

    记一次不在状态的大疆面试之前写博客也有不少,但一直没有一个固定的地方,csdn,博客园,eoe,oschina都写过一些,但没有长期固定的去记录,自己开的博客站也因为忘记续费而被停掉,数据也丢了…希望在简书能坚持记录一些技术上的东西,刚好昨天在大疆面试完,就以大疆作为简书博客的开端吧11月初有前同事内推大疆Android开发的机会,就发了一份简历过去试试。大概一个星期,收到了…

    2022年6月22日
    29
  • 流量矿场[通俗易懂]

    第二个流量魔盒,流量矿场,扫码注册,实名秒通过不刷脸,现在活动:实名通过秒送1台魔盒机,25天产13个币,现在币开盘价格0.11美元,估计后期会涨,不要错过第二个流量魔盒。速度撸起来。线下已经5块回收了!注册链接:http://sina.lt/fyFz苹果APP下载地址:https://9dun.cn/s/zjmalls 安卓APP下载地址:https://9dun.cn/s/zjmallss…

    2022年4月18日
    36
  • windows平台下载android源码

    最近在看《android内核剖析》,很多细节不具体看代码很难理解,记住了印象也不深,感觉还是跟着源码走一遍好些,回来下载android源码,遇到不少问题,终于开始下载了,整理下流程,鉴于网上很多教程时间久了都会失效,本文截止14年4月18日亲测有效。需要工具如下:下载msysgit,安装     官方下载:http://code.google.com/p/msysgit/downloads

    2022年3月11日
    30
  • kernel: TCP: time wait bucket table overflow的问题剖析及解决方法

    kernel: TCP: time wait bucket table overflow的问题剖析及解决方法随着访问量的增大,系统默认的承受能力达到上限,这个时候就会报一些异常。比如/var/log/messages中常见的“kernel:TCP:timewaitbuckettableoverflow”这个信息,本文介绍问题的来源及解决办法。

    2022年6月10日
    29

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号