黑马程序员技术交流社区
标题:
关于单例模式
[打印本页]
作者:
泮和顺
时间:
2012-3-12 10:47
标题:
关于单例模式
public A{
private static A a;
private A(){}
public static A newA(){
if ( a == null)
a = new A();
return a;
}
} 单例模式条件:域只有一个而且还是对象,类不能被new要自己提供个newA方法
问题 1吧 里面的类A 改成Object还是单例模式吧 方法静态 静态能去掉吗
2 单例模式基本用在哪比较多 比如API里有这样的类吗
作者:
赵英坤
时间:
2012-3-12 10:59
API中有这样的类啊,Runtime类,你可以自己去API中查找
Runtime:该类中没有构造函数,但是有方法是非静态的方法,说明该类提供了获取本类对象的方法,而且该方法是静态的,你向下查找它的方法,发现有一个getRuntime()
方法,作用是返回与当前 Java 应用程序相关的运行时对象,说明该类使用了单例设计模式
作者:
易伟
时间:
2012-3-12 11:03
1.单例模式就是指这个类只可以有一个对象存在,你改成Object它也一样只能创建出一个对象,只是这个对象可以是任何类型的。静态不能去掉,因为这个方法是用来创建对象的,有static就可以直接用类名调用这个方法,但是如果没有加static的话,这个方法就只能通过对象调用,那么你用对象调用这个方法再创建对象不就有两对象了么?就不是单例模式了。所以static一定不能去掉。
2.单例模式的好处是可以节省内存,因为它限制了实例的个数。API肯定有把,只是我懂的太少,这个还真回答不了。
作者:
王思兰
时间:
2012-3-12 11:08
如果希望对象只创建一个实例,并且提供一个全局的访问对象,可以使用单例模式
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2