单例模式是什么
在操作中有时要求一个类,只能创造一个实例。单例模式就是这种设计模式。
单例模式特点
1、单例模式只能有一个实例。
2、单例类必须创建自己的唯一实例。
3、单例类必须向其他对象提供这一实例。
单例模式实现
懒汉式单例模式
public class Singleton {//懒汉式单例模式
private static Singleton instance;
public static Singleton getsingle(){
if(instance==null){
instance=new Singleton();
}
return instance;
}
public Singleton() {
}
public static void main(String[] args) {
Singleton a1=getsingle();
Singleton a2=getsingle();
System.out.println(a1);
System.out.println(a2);
}
}
饿汉式单例模式
public class Singleton {//饿汉式单例模式
private static Singleton instance=new Singleton();
public static Singleton getsingle(){
return instance;
}
public Singleton() {
}
public static void main(String[] args) {
Singleton a1=getsingle();
Singleton a2=getsingle();
System.out.println(a1);
System.out.println(a2);
}
}
输出结果
饿汉式和懒汉式输出结果都相同。我们可以看到,输出两个对象地址相同,所以只是创造一个实例。