欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

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

程序员文章站 2022-03-22 08:19:17
java中单态模式或单例模式(Singleton)有什么意义? ......

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) {
        photoshop photoshopi1 = photoshop.getinstanceqixy();
        photoshop photoshopi2 = photoshop.getinstanceqixy();
        system.out.println(photoshopi1 == photoshopi2);
        system.out.println(photoshopi1 == photoshop.photoshop);                      photoshopi1.drawimage();
        photoshop photoshopi3 = new photoshop();
。。。。。。。。。

更多详情请见:http://www.mark-to-win.com/index.html?content=javabeginner/javaurl.html&chapter=javabeginner/javabeginner2_web.html#singleton