package com.accp.xml;
public class A {
private static A a =null;
public static synchronized A getInstance(){
if(a == null){
a = new A();
return a;
}else{
return a;
}
}
Integer i = 0;
}
package com.accp.xml;
public class Test {
public static void main(String[] args) {
//equalsTest();
A a = A.getInstance();
a.i=3;
A b = A.getInstance();
b.i=100;
A c = new A();
c.i=200;
System.out.println("a.i="+a.i);//a.i=100
System.out.println("b.i="+b.i);//b.i=100
System.out.println("c.i="+c.i);//c.i=200
}
}
本文通过一个Java示例展示了单例模式的实现方式,并探讨了当通过单例模式创建的对象实例拥有可变状态时的行为表现。通过具体代码演示了如何在不同情况下访问和修改同一个单例对象的实例变量。
172万+

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



