一个简单的Singleton
下面是一个
?
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);
?}
}