单例模式是指该类只能有一个实例,所以必须隐藏类的构造函数,对外只提供一个创建对象的方法,
public class MyClass {
public static void main(String args[]) {
Single s = Single.getSingle();
// Single s = new Single();
System.out.println(s);
Single s1 = Single.getSingle();
if(s == s1){
System.out.println("yes");
}
noSingle ns = new noSingle();
noSingle ns1 = new noSingle();
if(ns == ns1){
System.out.println("yes");
}else{
System.out.println("no");
}
}
}
class Single{
private static Single s = null;
private Single() {}
public static Single getSingle(){
if(s == null){
s = new Single();
}
return s;
}
public String toString(){
return "this is a single";
}
}
class noSingle{
}
执行结果:
this is a single
yes
no
注意:不能再成员函数内部定义static变量!!