单例类要满足的要求是能且只能创建该类的一个实例
一般我看到单例类都这样写:
class SingletonClass{
private static SingletonClass sc;
private Singleton{ };
public static SingletonClass getInstance(){
if(sc==null){
sc=new SingletonClass();
}
return sc;
}
不过我觉得还应该可以这样写:
class SingletonClass{
private static SingletonClass sc=new SingletonClass();;
private Singleton{ };
public static SingletonClass getInstance(){
return sc;
}
因为类在第一次被创建时会对类属性分配空间,第二次就不会再给类属性分配空间了,所以后面一种方法在每次创建对象时也调用的是同一个对象,而且后面一种写法更简洁. |
|