下面是一个
package com.seimma.singleton;
public class Singleton {
//使用一个静态常量缓存曾经创建的实例
private static Singleton instance;
//将构造器修饰符改成private,隐藏该构造器,创建Singleton对象只能通过实例创建。
private Singleton(){
}
//提供一个静态方法用于获得Singleton实例
public static Singleton getInstance(){
//如果instance为null表明还未创建Singleton实例
if(instance==null){
instance=new Singleton(); //创建Singleton实例并将缓存起来
}
return instance; //如果instance不为null,直接返回Singleton实例
}
}
package com.seimma.singleton;
public class Test {
public static void main(String[] args) {
//创建Singleton不能通过构造器,只能通过实例创建
Singleton sing1=Singleton.getInstance();
Singleton sing2=Singleton.getInstance();
//使用==号判断两个引用类型时,必须保证两个引用类型指定的是同一个对象才返回true
System.out.println(sing1==sing2);
}
}