单例类即该类只能生成一个对象(实例)
实现方法如下
class Fruit { // 指向已创建的对象,必须为private private static Fruit instance = null; // private构造器,不能通过new Fruit()创建对象 private Fruit() {} public static Fruit getInstance() { if (null == instance) instance = new Fruit(); return instance; } } public class Test { public static void main(String args[]) {// 报错,Fruit构造器为private,不能创建对象 // Fruit obj = new Fruit(); Fruit one = Fruit.getInstance(); Fruit two = Fruit.getInstance(); System.out.println(one == two); }
如果 public static void main(String args[])位于Fruit类内,是可以通过new Fruit()创建新的对象,因为main()方法与private Fruit()位于同一个类内。