class Singleton
{
//在内部产生本类的实例化对象,将属性封装
private static Singleton instance = new Singleton();
private Singleton(){} //此处将构造方法进行封装
public static Singleton getInatance() //通过静态方法取得Singleton类的实例
{
return instance;
}
}
public class SingleDemo
{
public static void main(String args[])
{
Singleton s1 = Singleton.getInstance(); //访问类中的静态方法,取得对象实例
Singleton s2 = Singleton.getInstance();
}
}
以上程序中虽然声明了2个Singleton对象,但是实际上所有的对象都只使用instance的引用,即不管外面如何使用,最终结果只有一个实例化对象存在,内存占用情况如下图所示
|