class Singleton {
private static Singleton obj = new Singleton();
public static int counter1;
public static int counter2 = 0;
private Singleton() {
counter1++;
counter2++;
System.out.println("constructor counter2's value :"+counter2);
}
public static Singleton getInstance() {
System.out.println("getInstance counter2's value :"+counter2);
return obj;
}
}
public class MyMain {
@SuppressWarnings("static-access")
public static void main(String[] args) {
Singleton obj = Singleton.getInstance();
System.out.println("obj.counter1=" + obj.counter1);
System.out.println("obj.counter2=" + obj.counter2);
Singleton obj1 = Singleton.getInstance();
System.out.println("obj1.counter1=" + obj1.counter1);
System.out.println("obj1.counter2=" + obj1.counter2);
}
}
输出结果是:
obj.counter1=1
obj.counter2=0
obj1.counter1=1
obj1.counter2=0
Trackback: http://tb.blog.youkuaiyun.com/TrackBack.aspx?PostId=1392662
单例模式实例解析
本文通过一个具体的Java示例详细解析了单例模式的实现方式。示例中定义了一个单例类Singleton,并在主类MyMain中进行了实例化操作,展示了如何通过静态方法getInstance()获取Singleton的唯一实例。
1405

被折叠的 条评论
为什么被折叠?



