所谓类的单例设计模式,就是采取一定的方法保证在整个的软件系统中,对某个类只能存在一个对象实例,并且该类只提供一个取得其对象实例的方法
一、饿汉式
public class instance {
public static void main(String[] args) {
System.out.println(Singleton.getInstance());
//在调用Singleton中的age时,
// private static Singleton person = new Singleton("xx")中的person没有被使用
// 但是已经被创建(对象的创建供大于求,造成对象浪费)
System.out.println(Singleton.age);
//验证是否只创建了一个对象
}
}
class Singleton{
private String name;
public static int age = 100;
//为了能够在静态方法中,返回person对象,需要将其设为static(静态方法只能调用静态属性)
private static Singleton person = new Singleton("xx");
//如何保障只能创建一个Singleton对象:
//1.将构造器私有化
//2.在类的内部直接创建一个对象(静态对象)
//3.提供一个公共的static方法,返回person对象
private Singleton(String name) {
System.out.println("构造器被调用");
this.name = name;
}