请教一道JAVA编程题,十分感谢。。。

来源:百度知道 编辑:UC知道 时间:2024/05/17 08:42:58
创建一个类并证明加载类的动作仅发生一次。证明该类的第一个实体的创建或者对static成员的访问都有可能引起加载

最好可以直接运行,非常感谢!

public class SingletonDemo {
private static SingletonDemo instance = null;
int value=0;

private SingletonDemo(){
}

public static SingletonDemo getInstace(){
if(instance == null)
{
instance = new SingletonDemo();
}
return instance;
}
}
public class TestSingletonDemo{
public static void main(String[] args) {
SingletonDemo s1 =new SingletonDemo();//创建第一个实例;
s1.getInstace();
s1.value = 5;//给value赋值;
SingletonDemo s1 = new SingletonDemo();//创建第二个实例;
System.out.println(s1.value);
System.out.println(s2.value);
}
}
发现两个值都相等,证明s1的时候给value赋值,当s2创建后,value仍然是5;所以证明这个类只有一个实例;是典型的单例模式;懒汉式的单例模式;还是饥饿式的单例模式,在此不详谈了。

希望对你有帮助。

public class Test {
public static void main(String[] args) {
new Single();//实体的创建
//int i = Single.i;//对static成员的访问
//Single.m();//对static方法的访问
}
}

class Single {
public