package single;
/**
* 内部类延迟加载 最佳方式
*
* @author Sunnykong
*
*/
public class Sinlge4 {
private static class SingleHolder {
private final static Sinlge4 instance = new Sinlge4();
}
public static final Sinlge4 getInstance() {
return SingleHolder.instance;
}
public static void main(String[] args) {
Sinlge4 s = Sinlge4.getInstance();
Sinlge4 s1 = Sinlge4.getInstance();
Sinlge4 s2 = Sinlge4.getInstance();
}
}
代码如上,在网上看了下很多说通过内部类延迟加载是一种最佳的方式,内部类如何实现单例的呢?我的理解是main中每次调用getInstance时,都会创建一个实例,这样就创建了三个实例了,debug了下,也的确是这样的
|
|