java使用静态关键字实现单例模式
作者:xtu熊大 发布时间:2023-11-29 13:37:33
标签:java,关键字,单例模式
本文为大家分享了使用静态关键字实现单例模式的具体代码,供大家参考,具体内容如下
单例模式:只能获得某个类的唯一一个实例
单例模式,不管什么时间点得到的对象都是同一个对象
看下面代码:
/**
* 单例模式
* @author xiongda
* @date 2018年4月15日
*/
public class SingletonMode {
private static SingletonMode single =null;
public int number = 1;
//将构造方法定义为私有
private SingletonMode(){
single=this;
}
public static SingletonMode getInstance(){
if(single==null){
single=new SingletonMode();
}
return single;
}
}
将构造方法私有,以便实现外部无法使用new进行实例化的效果,达到任何时候其实都是同一个对象的效果
测试代码如下:
public class Testit {
public static void main(String[] args) {
// TODO Auto-generated method stub
SingletonMode single =SingletonMode.getInstance();
System.out.println("single的number值:"+single.number);
SingletonMode single2 =SingletonMode.getInstance();
single2.number=100;
SingletonMode single3 =SingletonMode.getInstance();
System.out.println("single3的number值:"+single3.number);
System.out.println(single2==single3);
}
}
结果如下:
该结果表明:single、single2、single3这些引用指向的都是同一个对象
单例模式的应用:比如游戏窗口,通过单例模式来控制不能多开
来源:https://www.cnblogs.com/xtuxiongda/p/8848924.html
0
投稿
猜你喜欢
- 本文实例讲述了C#获取U盘序列号的方法。分享给大家供大家参考。具体如下:using System.Management;private Li
- 1、队列的基本概念队列(queue)是一种特殊的线性表,特殊之处在于它只允许在表的前端(front)进行删除操作,而在表的后端(rear)进
- 本文实例为大家分享了java实现简单石头剪刀布游戏的具体代码,供大家参考,具体内容如下问题描述Alice, Bob和Cindy一起玩猜拳的游
- 本文实例为大家分享了android自定义控件实现简易时间轴的具体代码,供大家参考,具体内容如下之前项目需要写一个消费记录,类似于时间轴似的控
- 前言相信大家在Android日常开发中,绘制圆形和绘制图片都是很容易的事情,但是绘制圆形图片就有点难倒人了。以前为了偷懒就直接去github
- 本文实例讲述了Java实现的对称加密算法AES定义与用法。分享给大家供大家参考,具体如下:一 简介1、AES是目前使用最多的对称加密算法。2
- SpringBoot @ConditionalOnBean实现原理在SpringBoot1.5.X时判断条件是OR,SpringBoot2.
- 为什么需要全局异常处理在传统 Spring Boot 应用中, 我们 @ControllerAdvice 来处理全局的异常,进行统一包装返回
- 本文实例为大家分享了Java猜拳游戏的具体代码,供大家参考,具体内容如下先来看一下效果图: 首先我们创建一个Person类,这个类
- 用Stream解决两层List属性求和假设一个人有很多个银行账户,每个银行账户中存有不同金额的存款,那么我们如何用Stream求一组人的所有
- spring中实例化bean无效在做Struts2和Spring整合时遇到Spring实例化无效的情况,Action中代码如下public
- 倒序拼接字符串@ApiOperation("分页查询") @GetMapping(value
- 本文实例讲述了Android编程实现的首页左右滑动切换功能。分享给大家供大家参考,具体如下:很多软件会选择左右滑动的主界面,实现方式也很多,
- 本文实例为大家分享了java客户端登陆服务器用户名验证的具体实现代码,供大家参考,具体内容如下客户端通过键盘录入用户名,服务端对用户名进行验
- 前言上一篇文章C# Chart控件标记问题详解,我们对C#Chart控件标记问题做了一系列的处理,今天是对上一篇文章的一个扩展,使
- 一、判断字母string str = Console.ReadLine();if (char.isLetter(str)){}else if
- 先来看看效果图如何使用示例代码PromptViewHelper pvHelper = new PromptViewHelper(mActiv
- 序列化与反序列化是.net程序设计中常见的应用,本文即以实例展示了.net实现序列化与反序列化的方法。具体如下:一般来说,.net中的序列化
- 在AS中进行NDK开发之前,我们先来简单的介绍几个大家都容易搞懵的概念: &
- 本文实例讲述了java字符串相似度算法。分享给大家供大家参考。具体实现方法如下:public class Levenshtein {&nbs