1. 静态代码块
/*
饿
对象在静态代码块里 因为静态代码块里的代码优先加载而且只加载一次
*所以可以实现只有一个实例
*/
public class Animal {
private static Animal instance;
static {
instance = new Animal();
}
private Animal() {}
public static Animal getInstance() {
return instance;
}
}
2.定义静态变量 的时候实例化单例类
/**
*饿汉模式
*
*/
public class People{
private final static People PEOPLE = new People();
private People(){}
public static People getInstance(){
return PEOPLE;
}
}
枚举实现单例
更好的单例方法