静态代码块中的代码在使用类的时候就已经执行了,所以可以应用静态代码块的这个特性来实现单例设计模式。
public class MyObject {
private static MyObject instance = null;
public MyObject() {
}
static {
instance = new MyObject();
}
public static MyObject getInstance(){
return instance;
}
}
public class MyThread extends Thread{
@Override
public void run() {
System.out.println(MyObject.getInstance().hashCode());
}
}
public class Run {
public static void main(String[] args) {
MyThread myThread = new MyThread();
MyThread myThread1 = new MyThread();
MyThread myThread2 = new MyThread();
myThread.start();
myThread1.start();
myThread2.start();
}
}
下一节:使用enum枚举实现单例模式
来源:oschina
链接:https://my.oschina.net/projerry/blog/3165867