您当前的位置: 首页 > 学无止境 > 心得笔记 网站首页心得笔记
javase第二季学习笔记-单例设计模式
发布时间:2017-07-10 14:12:04编辑:雪饮阅读()
java中共有23种设计模式
单例设计模式:保证一个类仅有一个实例,并提供一个访问它的全局访问点。
构造方法私有化
声明一个本类对象
给外部提供一个静态方法获取对象实例
饿汉式:
public class NewKeywordDemo
{
public static void main(String[] args){
Singleton1 s=Singleton1.getInstance();
s.print();
}
}
/*
把该类设计成单例模式-饿汉式
*/
class Singleton1
{
//private修饰符只允许类内部访问对象不能直接访问
//定义一个本类对象并实例化,实现单例模式条件(声明一个本类对象)
private static Singleton1 s=new Singleton1();
//构造方法私有化,实现单例模式条件(构造方法私有化)
private Singleton1(){}
//返回一个对象,实现单例模式(给外部提供一个静态方法获取对象实例)
public static Singleton1 getInstance(){
return s;
}
public void print(){
System.out.println("饿汉式单例模式");
}
}
懒汉式:
public class NewKeywordDemo
{
public static void main(String[] args){
Singleton1 s=Singleton1.getInstance();
s.print();
}
}
/*
把该类设计成单例模式-懒汉式
*/
class Singleton1
{
private static Singleton1 s=null;
//构造方法私有化,实现单例模式条件(构造方法私有化)
private Singleton1(){}
//返回一个对象,实现单例模式(给外部提供一个静态方法获取对象实例)
public static Singleton1 getInstance(){
//懒汉式在多线程访问时会有线程安全问题
if(s==null){
s=new Singleton1();
}
return s;
}
public void print(){
System.out.println("懒汉式单例模式");
}
}
懒汉式与饿汉式最大的区别只是类内部对对象的实例化的先后顺序的不同。
关键字词:javase,单例设计模式