所以如果这样。建议携吵伍采用静态的hashtable来存对象实例。
楼主,不知道你的单例类A是如何写的,如果你getA()方法里面是直接 new 出来的A对象的话,那扒此哗就是创建了两次。 下面是单例模式一般写法,如果instance实例已经创建则直接返回此对扒链象, 不存在则创建,春行这样的话保证A只会创建一个对象instance,且只创建一次。 public class A(){private static A instance private A(){}public A getA(){ if(instance ==null){instance = new A() } return instance } }class single{
private single(){}//私有化构造函数
==>//不允许外部构造
private static single s = new single()//创建本类对象 !!求解惑,既然是静档正亩态,为什么可以创建本类对象呢,静态方法不是随着类的加载而加载的嘛,存在方法去的嘛,为什么可以创建对象了呢,,,很无法理解
//---〉静态清羡只有JVM第一次load single类的时候才会构造signle唯一的对象。至于为什行森么可以创建本类对象,面向对象的基础,自己想下吧。
public static single getInstance()//静态方法只能调用静态参数,
{
return s
}
}
但是为什么不允许添加getInstance()呢?
//可以添加的。为什么说不可以呢?
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)