1、如果一个类,始终只能创建一个实例,那么这个类就叫做单例类。
我们把该类的构造器使用private修饰,从而把该类的所有构造器隐藏起来。
根据良好的封装原则,一旦把该类的构造器隐藏起来,就需要提供一个public方法作为该类的访问点,用于创建该类的对象,且该方法必须用static修饰(调用该方法的只能是类)。
还有,该类还必须缓存自己创建的对象,否则该类不会知道是否已经创建了该对象,也就无法保证只创建一个对象,因此需要创建一个属性来保存曾经创建的对象。该属性需要
被上面的static访问,所以也要用static修饰。
/* * 单例类 * */ public class SingleSton { // 保存已创建对象的属性 private static SingleSton singleSton; // 使用private修饰构造方法 private SingleSton(){}; // public方法,用于返回唯一的对象 public static SingleSton getInstance() { if (singleSton==null) { // 创建一个对象,并将其缓存起来 singleSton=new SingleSton(); } return singleSton; } } public class SingleStonTest { public static void main(String[] args) { SingleSton s1=SingleSton.getInstance(); SingleSton s2=SingleSton.getInstance(); System.out.println(s1==s2); } }