下面的代码是使用Java实现设计模式中的单例模式
01.public class Singleton
02.{
03. //使用一个变量来缓存曾经创建的实例
04. private static Singleton instance;
05. //将构造器使用private修饰,隐藏该构造器
06. private Singleton(){}
07. //提供一个静态方法,用于返回Singleton实例
08. //该方法可以加入自定义的控制,保证只产生一个Singleton对象
09. public static Singleton getInstance()
10. {
11. //如果instance为null,表明还不曾创建Singleton对象
12. //如果instance不为null,则表明已经创建了Singleton对象,将不会执行该方法
13. if(instance == null)
14. {
15. //创建一个Singleton对象,并将其缓存起来
16. instance = new Singleton();
17. }
18. return instance;
19. }
20.}
测试类
01.public class TestSingleton
02.{
03. public static void main(String[] args)
04. {
05. //创建Singleton对象不能通过构造器,只能通过getInstance方法
06. Singleton s1 = Singleton.getInstance();
07. Singleton s2 = Singleton.getInstance();
08. //都将输出True
09. System.out.println(s1.equals(s2));
10. System.out.println(s1 == s2);
11. }
12.}
equals 相等,可以说是完完全全的同一个类,以上代码对C#也是一模一样,只字不改