单例模式
饿汉模式
public class Car {
private static Car car = new Car();
private Car() {
}
public static Car getInstance() {
return car;
}
}
懒汉模式
public class Car {
private static Car car;
private Car() {
}
public static Car getInstance() {
if (null == car) {
synchronized (Car.class) {
if (null == car) {
car = new Car();
}
}
}
return car;
}
}
静态内部类(推荐)
public class Car {
private Car() {
}
public static Car getInstance() {
return SingletonHolder.INSTANCE;
}
private static class SingletonHolder {
private static Car INSTANCE = new Car();
}
}