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);
}
}
结果如下:
该结果表明: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