Singleton Pattern (单例模式)
原创
©著作权归作者所有:来自51CTO博客作者mb61c2e9efaa57a的原创作品,请联系作者获取转载授权,否则将追究法律责任
- 单例模式,确保某个类只能生成一个实例
- 单例模式的构造方法必须定义为私有(private)的
- 必须要定义一个静态(static)的方法,作为生成这个对象实例的入口
package com.singleton;
//静态代码块不一定在最开始执行,比如说 静态代码块 放在 单例模式中,
//但一般情况下 静态代码块是第一执行的 也就是在类加载时执行, 只执行一次
class SingletonTest
{
private static SingletonTest singletonTest = new SingletonTest();
static
{
System.out.println("======java 静态代码块========");
}
private SingletonTest()
{
System.out.println("java实现单例模式");
}
public static SingletonTest getInstance()
{
return singletonTest;
}
}
public class Singleton
{
public static void main(String[] args)
{
SingletonTest st = SingletonTest.getInstance();
SingletonTest st2 = SingletonTest.getInstance(); //返回true,这两个实例是一样的
System.out.println(st == st2);
}
}