单例模式如何传参数?

单例模式如何传参数?,第1张

单例模式的传参实际上已经不辩或能算是单例了。因为单例想要的是返回一个对象,而传参数已碰团经构造了不同的对象。这样已经违背了单例模式的原则。

所以如果这样。建议携吵伍采用静态的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()呢?

//可以添加的。为什么说不可以呢?


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/bake/11985732.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-20
下一篇 2023-05-20

发表评论

登录后才能评论

评论列表(0条)

保存