public class SingleInstance { private String name; public String getName() { return name; } public void setName(String name) { this.name = name; } //【java 单例模式核心思想 begin】 private SingleInstance() {} private static SingleInstance si = null; public static SingleInstance getInstance() { if(si == null) si = new SingleInstance(); return si; } // 【java 单例模式核心思想 end】 public void getInfo() { System.out.println("My name is " + name); } public static void main(String[] args) { SingleInstance si1 = SingleInstance.getInstance(); si1.setName("bdzsl2013"); System.out.println(si1.getName()); SingleInstance si2 = SingleInstance.getInstance(); si2.setName("2013bdzsl"); System.out.println(si2.getName()); si1.getInfo(); si2.getInfo(); if(si1 == si2) { System.out.println("same instance..."); } else if(si1 != si2) { System.out.println("different instance..."); } else { System.out.println("error!"); } } }