class Singleton{
private Singleton s = new Singleton();
private Singleton(){}
public Singleton getInstance(){return s;}
}
也不对,private Singleton(){}都私有了,如何调用getInstance(),你都不能创建对象了.正确的应该都加上statice.
private static final Singleton s = new Singleton();
public static Singleton getInstance(){return s;}
class Singleton{
private static final private Singleton s = new Singleton();
private Singleton(){}
public Singleton getInstance(){return s;}
}
我觉得这才是单态;
private static final private Singleton s = new Singleton();
这行必须加上static final ,不然如果一个对象继承了Singleton类,对s变量做了修改,再把s上溯为Singleton类的话,就会产生两个Singleton类的实例
楼上的是singleton吗?
的确是singleton,只不过这个singleton是指只能第一个人获得,其他人都只能获得null
class Singleton{
private Singleton s = new Singleton();
private Singleton(){}
public Singleton getInstance(){return s;}
}