java

位置:IT落伍者 >> java >> 浏览文章

Java单例模式示例


发布日期:2021年08月27日
 
Java单例模式示例

概念

Java中 单例模式是一种常见的设计模式

单例模式分三种懒汉式单例饿汉式单例登记式单例三种

单例模式有一下特点

单例类只能有一个实例

单例类必须自己自己创建自己的唯一实例

单例类必须给所有其他对象提供这一实例

今天我就以懒汉式单例模式写一例子懒汉式单例模式也是我们在做Java程序中常用的单例模式之一

public class TestStream

{

private String name; //姓名

public String getName()

{

return name;

}

public void setName(String name)

{

thisname=name;

}

//该类只能有一个实例

private TestStream(){} //私有无参构造方法

//该类必须自行创建

//种方式

//private static final TestStream ts=new TestStream();

private static TestStream ts=null;

//而且这个类必须自动向整个系统提供这个实例

public synchronized static TestStream getTest()

{

if(ts==null)

{

ts=new TestStream();

}

return ts;

}

public void getInfo()

{

Systemoutprintln(Output Message+name);

}

}

//程序Main方法中

public class TestMain

{

public static void main(String[] args)

{

TestStream s=TestStreamgetTest();

ssetName(赵志哲);

ssetName(代重庆);

ssetName(郭伟新);

Systemoutprintln(sgetName());

Systemoutprintln(sgetName());

Systemoutprintln(sgetName());

TestStream s=TestStreamgetTest();

ssetName(赵志哲);

ssetName(代重庆);

ssetName(郭伟新);

Systemoutprintln(sgetName());

Systemoutprintln(sgetName());

Systemoutprintln(sgetName());

sgetInfo();

sgetInfo();

if(s==s)

{

Systemoutprintln(创建的是同一个实例);

}

else if(s!=s)

{

Systemoutprintln(创建的不是同一个实例);

}

else

{

Systemoutprintln(Application Error);

}

}

}

//程序运行最后结果如图

结论由此我们可以得知

单例模式为一个面向对象的应用程序提供了对象惟一的访问点不管它实现何种功能整个应用程序都会同享一个实例对象

               

上一篇:使用UML编写Java应用程序 (2)实现

下一篇:Java多线程Synchronized的注意细节