请教一道JAVA编程题,十分感谢。。。
来源:百度知道 编辑:UC知道 时间:2024/05/17 08:42:58
最好可以直接运行,非常感谢!
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