1,在类内部定义类对象,然后再次创建时,进行判断如果不是null直接返回,如果是null则新建
如:public class Single {
private static Single single;
public Single() {
super();
// TODO Auto-generated constructor stub
}
public static Single getInstance(){
//single=null;
if(single==null){
//System.out.println("1111");
single=new Single();
}
//System.out.println(single+"---");
return single;
}
}
,在单例模式中,static的静态变量只要不为null则不会被回收,所以该静态变量会一直保留在内存中,这样就实现了单例模式,
必须是static的静态变量。
在static的方法中使用的内部static的类方法或类变量。
2 在main中测试
如:public static void main(String[] args) {
// TODO Auto-generated method stub
Single single1=Single.getInstance();
Single single2=Single.getInstance();
System.out.println(single1);
System.out.println(single2);
//new testMain().adb();
}
得到的都是一个实例,
com.util.Single@1c78e57
com.util.Single@1c78e57
如:public class Single {
private static Single single;
public Single() {
super();
// TODO Auto-generated constructor stub
}
public static Single getInstance(){
//single=null;
if(single==null){
//System.out.println("1111");
single=new Single();
}
//System.out.println(single+"---");
return single;
}
}
,在单例模式中,static的静态变量只要不为null则不会被回收,所以该静态变量会一直保留在内存中,这样就实现了单例模式,
必须是static的静态变量。
在static的方法中使用的内部static的类方法或类变量。
2 在main中测试
如:public static void main(String[] args) {
// TODO Auto-generated method stub
Single single1=Single.getInstance();
Single single2=Single.getInstance();
System.out.println(single1);
System.out.println(single2);
//new testMain().adb();
}
得到的都是一个实例,
com.util.Single@1c78e57
com.util.Single@1c78e57