当前位置: 首页 > news >正文

单例模式设计

 1 package SingleDemo;
 2 
 3 
 4 
 5 
 6 //单例模式的设计要点共有3个
 7 /*
 8 1. 私有化构造函数
 9 2.在类内部定义一个堆上对象
10 3.对外提供一个接口,将已经定义好的堆上对象以引用的方式返回出去
11 
12 */
13 
14 
15 
16 class Single
17 {
18     //计数器 
19     private int num;
20     
21     //初始化计数器
22     {
23         num = 0;
24     }
25     
26     //获取计数器
27     public int getNum()
28     {
29         return num;
30     }
31     
32     
33     //构造函数 每当构造一个对象计数器便加一;
34     private Single()
35     {    
36         ++num;
37         System.out.println("num=" + num);
38     }
39     
40     //在类内部定义一个对象 //c++是用指针实现
41     private static Single s = new Single();
42     
43     
44     //定义一个接口
45     public static Single getInstance()
46     {
47         return s;
48     }
49     
50 }
51 
52 
53 
54 //设计模式 入门  单例模式
55 public class SingleDemo {
56     public static void main(String[] args)
57     {
58         Single s1 = Single.getInstance();
59         Single s2 = Single.getInstance();
60         
61 
62         
63         System.out.println(s1.getNum());
64         System.out.println(s2.getNum());
65     }
66     
67     
68 }

 

打印结果

num=1
1
1  

可见 我们只能定义一个该类的对象

转载于:https://www.cnblogs.com/DLzhang/p/4164794.html

相关文章:

  • 如何把python最小化安装在客户机上面
  • WPF实现物理效果 拉一个小球
  • Extjs的textfield的颜色设置和出现的问题笔记
  • nginx快速安装
  • 身份证号 js验证 validform
  • Alamofire动态Proxy,报出FAILURE: Error Domain=NSURLErrorDomain Code=-999 cancelled
  • NSPredicate
  • 从tcpdump抓包看TCP/IP协议
  • Linux Redhat 6.5 安装NFS服务
  • java中的Checked Exception和Unchecked Exception的区别
  • Linux常用基本命令:三剑客命令之-awk数组用法
  • 第一个hibernate程序
  • Java 学习(02)--数据类型/类型转换/键盘录入
  • Mac中显示文件夹的大小
  • 逛自己的微博,回顾曾经的那个“我”
  • echarts花样作死的坑
  • ESLint简单操作
  • JAVA多线程机制解析-volatilesynchronized
  • java取消线程实例
  • node.js
  • 不发不行!Netty集成文字图片聊天室外加TCP/IP软硬件通信
  • 测试如何在敏捷团队中工作?
  • 对话 CTO〡听神策数据 CTO 曹犟描绘数据分析行业的无限可能
  • - 概述 - 《设计模式(极简c++版)》
  • 力扣(LeetCode)56
  • 浏览器缓存机制分析
  • 人脸识别最新开发经验demo
  • 算法---两个栈实现一个队列
  • 跳前端坑前,先看看这个!!
  • 正则表达式小结
  • puppet连载22:define用法
  • ​LeetCode解法汇总2304. 网格中的最小路径代价
  • ​二进制运算符:(与运算)、|(或运算)、~(取反运算)、^(异或运算)、位移运算符​
  • ​云纳万物 · 数皆有言|2021 七牛云战略发布会启幕,邀您赴约
  • (AtCoder Beginner Contest 340) -- F - S = 1 -- 题解
  • (Redis使用系列) SpringBoot 中对应2.0.x版本的Redis配置 一
  • (淘宝无限适配)手机端rem布局详解(转载非原创)
  • (一)Linux+Windows下安装ffmpeg
  • (一)使用Mybatis实现在student数据库中插入一个学生信息
  • (原創) 系統分析和系統設計有什麼差別? (OO)
  • ./indexer: error while loading shared libraries: libmysqlclient.so.18: cannot open shared object fil
  • .bat批处理出现中文乱码的情况
  • .mkp勒索病毒解密方法|勒索病毒解决|勒索病毒恢复|数据库修复
  • .NET Conf 2023 回顾 – 庆祝社区、创新和 .NET 8 的发布
  • .NET Core实战项目之CMS 第一章 入门篇-开篇及总体规划
  • .net core使用ef 6
  • .NET Standard 支持的 .NET Framework 和 .NET Core
  • .net 程序发生了一个不可捕获的异常
  • .NET 指南:抽象化实现的基类
  • .net和jar包windows服务部署
  • .sdf和.msp文件读取
  • /etc/skel 目录作用
  • @transaction 提交事务_【读源码】剖析TCCTransaction事务提交实现细节
  • [BZOJ3211]:花神游历各国(小清新线段树)
  • [DM复习]关联规则挖掘(下)