java使用静态关键字实现单例模式

作者:xtu熊大 时间:2023-11-29 13:37:33 

本文为大家分享了使用静态关键字实现单例模式的具体代码,供大家参考,具体内容如下

单例模式:只能获得某个类的唯一一个实例

单例模式,不管什么时间点得到的对象都是同一个对象

看下面代码:


/**
* 单例模式
* @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);
}

}

结果如下:

java使用静态关键字实现单例模式

该结果表明:single、single2、single3这些引用指向的都是同一个对象

单例模式的应用:比如游戏窗口,通过单例模式来控制不能多开

来源:https://www.cnblogs.com/xtuxiongda/p/8848924.html

标签:java,关键字,单例模式
0
投稿

猜你喜欢

  • MyBatis的嵌套查询解析

    2023-11-26 16:58:46
  • JAVA中SpringBoot启动流程分析

    2021-07-03 03:57:05
  • Java使用JSON传递字符串注意事项解析

    2021-11-05 13:35:37
  • spring aop execution表达式的用法

    2023-08-22 05:39:24
  • 使用 BenchmarkDotNet 对 C# 代码进行基准测试

    2023-06-25 00:38:49
  • C#使用Data Annotations进行手动数据验证

    2022-11-19 11:23:15
  • SpringBoot对Controller进行单元测试的实现代码 附乱码解决方案

    2021-11-26 17:57:22
  • Android中选项菜单(OptionMenu)的创建方法

    2021-06-08 14:14:42
  • Android自定义文件路径选择器

    2022-11-09 03:04:07
  • Android AIDL实现与服务相互调用方式

    2021-08-09 10:57:40
  • Android带进度条的文件上传示例(使用AsyncTask异步任务)

    2023-06-24 09:43:11
  • IntelliJ IDEA 如何配置git的操作方法

    2021-12-28 11:24:44
  • 关于@ApiImplicitParams、ApiImplicitParam的使用说明

    2023-11-09 10:49:34
  • Spring Boot整合Mybatis并完成CRUD操作的实现示例

    2023-11-09 04:36:46
  • C# 使用PictureBox实现图片按钮控件的示例步骤

    2023-04-04 21:33:29
  • 深入理解C# DateTime日期格式化

    2021-12-08 04:23:17
  • springboot项目如何防止XSS攻击

    2021-10-17 10:03:02
  • Java应用程序开发学习之static关键字应用

    2021-12-20 13:23:41
  • Java中实现可拖放图片剪裁入门教程

    2022-04-23 12:11:03
  • Spring @Profile注解详解

    2023-04-20 06:26:16
  • asp之家 软件编程 m.aspxhome.com