下面的代码是使用Java实现设计模式中的单例模式
public class Singleton
{
//使用一个变量来缓存曾经创建的实例
private static Singleton instance;
//将构造器使用private修饰,隐藏该构造器
private Singleton(){}
//提供一个静态方法,用于返回Singleton实例
//该方法可以加入自定义的控制,保证只产生一个Singleton对象
public static Singleton getInstance()
{
//如果instance为null,表明还不曾创建Singleton对象
//如果instance不为null,则表明已经创建了Singleton对象,将不会执行该方法
if(instance == null)
{
//创建一个Singleton对象,并将其缓存起来
instance = new Singleton();
}
return instance;
}
}
测试类
public class TestSingleton
{
public static void main(String[] args)
{
//创建Singleton对象不能通过构造器,只能通过getInstance方法
Singleton s1 = Singleton.getInstance();
Singleton s2 = Singleton.getInstance();
//都将输出True
System.out.println(s1.equals(s2));
System.out.println(s1 == s2);
}
}
equals 相等,可以说是完完全全的同一个类,以上代码对C#也是一模一样,只字不改
本文介绍了一种使用Java实现单例模式的方法。通过隐藏构造器并提供静态方法获取实例,确保整个应用程序中只有一个实例存在。此外,还展示了如何通过equals方法验证两个实例是否相同。
1070

被折叠的 条评论
为什么被折叠?



