单例设计模式分为懒汉式和饿汉式 你的这个应该这样写
public class NumberMachine{
private static NumberMachine instance = new NumberMachine(); //当然加个 final 更好,即不允许创建该类的更多对象 //凡是被静态所修饰的无论是属性或者函数都表示被对象所共享。 另该static对象在内存中的存储位置发生变化,不再存储在堆内存中 由于是共享的所以当是静态函数或者属性时无论创建几个对象,在内存中其实还是这一个,即节约内存空间
private NumberMachine(){}
public static NumberMachine getInstance(){
return instance;
}
}
懒汉式:
public class NumberMachine{
private static NumberMachine instance=null;
private void NumberMachine(){}
public static NumberMachine getInstance(){
if(instance==null){
instance= new NumberMachine();//对象被延迟加载,所以叫做懒汉式
return instance;}
}
} //单例设计模式总体来说,就是只允许创建该类的一个对象。 |