什么是模式??
模式可以理解为由常规问题中所抽象出来的解决问题固定的套路,方法和方案
一,单例模式
1.什么是单例模式?
单例模式是指Java虚拟机中只能有一个实例对象。
2.为什么要采用单例模式?
为了节省内存开销
3.单例模式要领?
*1.构造方法私有化
*2.对外提供一个公开地静态的获取当前类型对象的方法
*3.提供一个当前类型的静态变量
单例模式分为两种:懒汉模式 和 饿汉模式
懒汉模式:
public class SingleLan{
//将构造方法私有化
private SingleLan() {};
//静态变量(静态变量在调用类中的方法的时候就会被初始化)
private static SingleLan s;
//
public static SingleLan getInstance() {
if(s==null)
{
s = new SingleLan();
}
return s;
}
}
饿汉模式:
public class Customer{
//将构造方法私有化
private Customer() {};
//类加载只执行一次
private static Customer c = new Customer;
//
public static Customer getInstance() {
return c;
}
}
4.单例模式的缺点
*1.单例模式的类型无法被继承(因为构造方法私有化,导致子类中没有构造方法,所以子类无法被实例化,程序会报错)