java中单态模式或单例模式(Singleton)有什么意义?

2024-11-20 17:19:10
推荐回答(2个)
回答1:

8.单态模式或单例模式(Singleton)


态模式有什么用呢?想一下Adobe Photoshop ,处理两张图,会启动两个photoshop吗?多耗费内存呀! ( Consider
Adobe or oracle, process two images with two
adobes?),所以单态模式在公司编程是非常重要的。有很多场合都要求,对象只能存在一个,多了的话就太耗费资源。(马克-to-win)

class Photoshop {
/* 通过调试发现写成 static Photoshop photoshop或static Photoshop
photoshop=null;
是一样的,开始时都为null,马克-to-win,另外在调试时
可以写上观察Photoshop.photoshop的值,它是独立于任何对象之外的,从程序开始运行的main方法时, 这个值就有了,
只不过为null罢了, 我们可以一直观察
*/
static Photoshop photoshop;//这个值独立于任何对象存在,实例化任何对象之前,这个成员就有可能有值。

static Photoshop getInstanceQixy() {
if (photoshop == null) {
photoshop = new Photoshop();
System.out.println("成功创建");
} else {
System.out.println("已经创建了该类的实例,不能再创建!");
}

return photoshop;
}

void drawImage() {
System.out.println("draw image using photoshop");
}
}

public class Test {
public static void main(String[] args) {
。。。。。。。。。。。。。。。。详情网上找“马克-to-win”,参考他的网站或他的百度空间:java第2章的内容

回答2:

存在某些类不需要实例化多次,也就是说 该类一般没有非静态的成员变量,只需要在系统运行时实例化一次就可以了,所以就存在单例模式