一、应用场景
当我们想使用一个类中的对象,该对象为唯一一个。
二、设计流程
1.私有化构造方法
private X(){}
2.在类中创建一个本类对象,并将其私有化
private static X x = new X();
3.用一个公共静态方法将其返回出
public static X getInstance(){
return x;
}
三、两种设计方法
1.饿汉式
在类加载时就在本类中创建一个本类的对象
代码如下:
public class Animal {
private Animal() {}
private static Animal animal = new Animal();
public static Animal getInstance() {
return animal;
}
}
懒汉式
类加载时只是声明对象,调用方法得到该对象时才创建。
代码如下:
private Animal() {}
private static Animal animal;
public static Animal getInstance() {
if(null==animal) {
animal = new Animal();
}
return animal;
}