Java的设计模式之单例模式
来源:互联网 发布:淘宝pc端搭配套餐 编辑:程序博客网 时间:2024/06/08 10:27
在某些特殊场合中一个类对外提供了一个对象且只能是一个对象,这样的类叫做单例类,编写单例类的设计思想叫做单例设计模式。
如例:
自定义Singleton类,实现该类的封装;
自定义TestSingleton类,在main方法中能得到且只能得到Singleton类中的一个对象;
public class Singleton{ //2.提供本类的引用作为本类的成员变量 private //static 表示提升为类的层次 private static Singleton sin = new Singleton(); //饿汉式 //private static Singleton sin = null; //懒汉式 //1.自定义无参的构造方法,使用private关键字修饰 //static关键字不能修饰构造方法,加上static隶属于类层级,就不能访问非静态的成员了 private /*static*/ Singleton(){ } //3.提供公有的get成员变量方法将成员变量返回出去 public static Singleton getInstance(){ return sin; //if(sin == null){ //懒汉式 返回时才创建 // sin = new Singleton(); //} //return sin; }}
public class TestSingleton{ public static void main(String[] args){ //Singleton s1 = new Singleton(); //Singleton s2 = new Singleton(); //System.out.println(s1 == s2); //false 得到Singleton类中的两个对象 //因为每次new等于重新开辟内存空间 Singleton s1 = Singleton.getInstance(); Singleton s2 = Singleton.getInstance(); System.out.println(s1 == s2); //true 等于每次调用的都是Singleton下的成员方法getInstance,返回的是同一个对象,开辟的是同一块内存空间 }}
单例设计模式编写流程:
第一步:编写一个私有化的无参构造方法,使用private关键件修饰
第二步:提供本类类型的对象作为本类的成员变量,并使用private static共同修饰;
第三步:提供共有的静态(static)get成员变量将用于对象返回出去。
单例模式主要分饿汉式和懒汉式;
饿汉式表示一开始就是创建一个对象,懒汉式是直到返回时才创建对象。
阅读全文
0 0
- java设计模式之单例模式
- Java模式设计之单例模式
- Java模式设计之单例模式
- Java模式设计之单例模式
- java设计模式之单例模式
- Java模式设计之单例模式
- Java模式设计之单例模式
- Java设计模式之单例模式
- Java设计模式之单例模式
- Java设计模式之单例模式
- Java设计模式之单例模式
- Java模式设计之单例模式
- java设计模式之单例模式
- java设计模式之单例模式
- java设计模式之单例模式
- java设计模式之单例模式
- java设计模式之单例模式
- java设计模式之单例模式
- hihocoder#1410 : Powers of Two(水题)
- 浅谈vue 动态加载、注册组件
- Lucas–Kanade光流算法
- py2neo——Neo4j&python的配合使用
- mini-caffe编译,用BLVC caffe编译的mnist模型进行测试
- Java的设计模式之单例模式
- 二叉树之B树红黑树AVL树堆积树、B-树、B+总结分析
- 【Python-3.3】字典中存储字典
- mybatis
- C#笔记(15)DPI屏幕适配
- Stm32-输入捕获
- 从零开始前端学习[29]:Css3中新增加的选择器一
- opencv腐蚀与膨胀
- 常用正则表达式