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语法(五) 多表联合查询前言当需要获取的数据分布在多张中,考虑使用联合查询,本章将学习两种查询方式(sql92/sql99)范例1.笛卡儿积将多个表的数据进行一一对应,所得到结果为多表的笛卡尔积。结果的数量为所有表的数量的乘积。–SQL92方式–表名以逗号隔开实现多表查询–SQL99方式–使用crossjoin关键字2.等值连接筛选&不等…

    2022年6月12日
    24
  • iBATIS_ibatis

    iBATIS_ibatis1、ibatis中isNotEmpty的作用   <selectid="getCityListByProvinceId"parameterClass="simpleMap"resultClass="dictModel">  <![CDATA[   selectxiddictCode,xnamedictNamefromcity  ]]>    &l…

    2022年10月7日
    2
  • jwplayer免费手机版_视频上显示jwplayer

    jwplayer免费手机版_视频上显示jwplayer————————————2015-5-13————最新更新———————————————由于jwplayer6已经完全无法正常工作,以下介绍的方法也已经失效,请更换视频播放插件,可以参考楼主的文章:http://blog.csdn.net/snow_finland/article/details/45670683————————————————————————————————————————htm…

    2022年10月21日
    2
  • 【mysql】索引简介[通俗易懂]

    【mysql】索引简介[通俗易懂]【mysql】索引简介

    2022年4月25日
    53
  • pytest重试_pytest失败重跑

    pytest重试_pytest失败重跑安装:pip3installpytest-rerunfailures重新运行所有失败用例要重新运行所有测试失败的用例,请使用–reruns命令行选项,并指定要运行测试的最大次数:$py

    2022年7月30日
    6
  • android中怎么在View构造的attrs中拿到android给的属性以及attrs属性介绍[通俗易懂]

    android中怎么在View构造的attrs中拿到android给的属性以及attrs属性介绍[通俗易懂]attrs获得,而自定义的属性获得值方式如下,当然原生的也是一样,只需要把attrname该成系统的。一、首先要在res/values目录下建立一个attrs.xml(名字可以自己定义)的文件,并在此文件中增加对控件的属性的定义.其xml文件如下所示:在这里,需要补充attrs属性的相关知识,即Attr属性是如何在

    2022年10月17日
    4

发表回复

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

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