1.单例模式
确保一个类只能创建一个实例。
2.实现:
不能让外界创建对象,所以构造器要私有化。
提供获得单例对象的方法。(所以这个方法是公开的,并且这个方法里New出了对象)
3.实例:
饿汉模式:类加载时就创建对象,不管用不用,对象已经创建好了。线程安全(初始化就把对象创建好了,不会有多个线程创建多个对象的情况)
public class Singleton{
private Singleton(){}
private static Singleton instance =new Singleton();
public static Singleton getInstance(){
return instance;
}
}
懒汉模式(懒加载):用到的时候才创建,加synchronized防止多线程时创建多个实例
public class Singleton{
private Singleton(){}
private static Singleton instance;
public static synchronized Singleton getInstance(){
if(instance==null){
instance=new Singleton();
}
return instance;
}
}
4.总结:
单例模式由于构造器是私有化的,所以不能被继承