Java设计模式--单例模式
来源:互联网 发布:爱情是如何产生的知乎 编辑:程序博客网 时间:2024/04/30 23:51
单例设计模式:保证一个类只有一个设计模式,并提供一个访问它的全局访问点。
特点:
1.构造方法私有化
2.声明一个本类对象
3.给外部提供一个静态方法获取对象实例
两种实现方式:
1.饿汉式
2.懒汉式
通过建立Singleton1和Singleton2两个类来分别实现饿汉式单例模式和懒汉式单例模式
package 单例模式;public class SingletonDemo { public static void main(String[] args) { //getInstance()无论调用多少次,都只有s一个对象 System.out.println("-------------饿汉式单例模式调试结果----------");Singleton1 s1=Singleton1.getInstance();Singleton1 s2=Singleton1.getInstance();s1.print(); s2.print();System.out.println("判断s1和s2是否为同一对象,答案是:"+(s1==s2));System.out.println("");System.out.println("-------------懒汉式单例模式调试结果----------");Singleton2 s3=Singleton2.getInstance();Singleton2 s4=Singleton2.getInstance();s3.print(); s4.print();System.out.println("判断s3和s4是否为同一对象,答案是:"+(s1==s2));}}/* * 把该类设计成单例设计模式 * 饿汉式 */class Singleton1{//定义一个变量来存储创建好的类实例,直接在这个创建类实例,只会创建一次,体现出“饿”private static Singleton1 s=new Singleton1();/* * 构造方法私有化 * 本类外部无法调用,也就不能被实例化 */private Singleton1() {}public static Singleton1 getInstance(){return s;}public void print() {System.out.println("饿汉式单例模式");}}class Singleton2{//定义一个变量来存储创建好的类实例,但不直接创建类实例,体现出“懒”private static Singleton2 s=null;private void SingleTon2() {}public static Singleton2 getInstance(){if(s==null){//创建类实例,只会创建一次s=new Singleton2();} return s;} public void print(){System.out.println("懒汉式单例模式");}}
0 0
- java 设计模式,单例设计模式
- java设计模式-单例设计模式
- java设计模式-单例设计模式
- Java设计模式 单例设计模式
- Java设计模式------单例设计模式
- java设计模式----->单例设计模式
- java设计模式:单例设计模式
- java设计模式-----单例设计模式
- Java设计模式----单例设计模式
- java设计模式-单例设计模式
- java设计模式:单例设计模式
- java 设计模式-单例设计模式
- Java设计模式--单例设计模式
- java设计模式---单例设计模式
- Java设计模式-单例设计模式
- JAVA设计模式:单例设计模式
- java-单例设计模式
- Java设计|单例模式
- leetcode 每日一题 100. Same Tree
- HDU 1978(记忆化搜索)
- c#获取客户端信息
- CSS3 动画 Transitions, Transforms和Animation属性
- android制作.9png图片
- Java设计模式--单例模式
- XAlign:用于代码对齐的Xcode插件
- Web前端面试小记
- tomcat配置server.xml后,重启被重置问题
- 加密文件系统eCrypt概述
- 关于Tomcat单独运行和在eclipse下运行时路径的问题
- 操作系统--处理调度与死锁
- 记录下python的无名管道半双工通信
- 网络爬虫的实现