使用静态代码块来实现单例模式
Posted 我想回家
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了使用静态代码块来实现单例模式相关的知识,希望对你有一定的参考价值。
package com.wz.thread.staticlump;
/**
* 使用静态代码块来实现单例模式
* @author Administrator
*
*/
public class MyObject {
private static MyObject instance = null;
private MyObject() {}
static {
instance = new MyObject();
}
public static MyObject getInstance() {
return instance;
}
}
package com.wz.thread.staticlump;
public class MyThread extends Thread {
@Override
public void run() {
super.run();
for (int i = 0; i < 5; i++) {
System.out.println(MyObject.getInstance().hashCode());
}
}
}
package com.wz.thread.staticlump;
/**
* 输出的hascode值相同,说明是同一个对象
* @author Administrator
*
*/
public class Run {
public static void main(String[] args) {
MyThread t1 = new MyThread();
MyThread t2 = new MyThread();
MyThread t3 = new MyThread();
t1.start();
t2.start();
t3.start();
}
}
以上是关于使用静态代码块来实现单例模式的主要内容,如果未能解决你的问题,请参考以下文章