单例模式就是运行环境中只存在一个实例,
java.lang.Object类 的toString() 输出的内容是内存地址, 因此自定义的类 如果没有重写toString() 时 也同样。
运行结果:
我是第1个实例
com.lyx.demo.SingletonDemo@c17164
com.lyx.demo.SingletonDemo@c17164
com.lyx.demo.SingletonDemo@c17164
com.lyx.demo.SingletonDemo@c17164
java.lang.Object类 的toString() 输出的内容是内存地址, 因此自定义的类 如果没有重写toString() 时 也同样。
package com.lyx.demo;
/**
* 定义一个 单例的类
* 作者:李亚希
*/
public class SingletonDemo {
public static int index; //标示 类的索引
private SingletonDemo()
{
index++;
System.out.println("我是第"+index+"个实例");
}
public static SingletonDemo instance=null;
public static SingletonDemo getInstance()
{
if(instance==null)
{
instance= new SingletonDemo();
}
return instance;
}
}
package com.lyx.demo;
/*
* 单例测试类
*/
public class TestSingleton {
public static void main(String[] args) {
SingletonDemo sd1=SingletonDemo.getInstance();
System.out.println(sd1);
SingletonDemo sd2=SingletonDemo.getInstance();
System.out.println(sd2);
SingletonDemo sd3=SingletonDemo.getInstance();
System.out.println(sd3);
SingletonDemo sd4=SingletonDemo.getInstance();
System.out.println(sd4);
}
}
运行结果:
我是第1个实例
com.lyx.demo.SingletonDemo@c17164
com.lyx.demo.SingletonDemo@c17164
com.lyx.demo.SingletonDemo@c17164
com.lyx.demo.SingletonDemo@c17164
本文介绍了一种使用Java实现单例模式的方法,并通过一个具体的示例进行了解释。该示例展示了一个单例类的创建过程及其如何确保在整个运行环境中只存在一个实例。
2350

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



