//单例类示例 public class Singleton{ private static Singleton instance = null;//必须:静态私有成员变量 //必须:私有构造类 private Singleton(){ } //静态公有工厂方法,返回惟一实例,还不够安全 /*public static Singleton getInstance(){ if (instance==null) { Synchronized(Singleton.class); instance =new Singleton(); } return instance; } */ //参考 http://blog.sina.com.cn/s/blog_75247c770100yxpb.html private static class SingletonHolder{ public final static Singleton instance = new Singleton(); } public static Singleton getInstance(){ return SingletonHolder.instance; } } //客户端类 public class ClientSingleTon{ public static void main(String[] args) { Singleton s1= Singleton.getInstance(); Singleton s2= Singleton.getInstance(); System.out.println("s1==s2 "+(s1==s2)); } } 结果: s1==s2 true s1,s2值相等,内存地址相等,是同一个成员属性