单例模式确保某个类只有一个实例,而且自行实例化,并向整个系统提供者个实例,提供一个访问它的全局访问点。
核心是:创造私有的构造函数
例如:只有一个实例的东西。
Singleton.java
package singleton; public class Singleton { private static final Singleton singleton = new Singleton(); private Singleton() { // 限制产生多个对象 System.out.println("已产生对象实例"); } public static Singleton getInstance() { // 通过该方法获得实例对象 return singleton; } public static void operation() { // 类中其他方法,尽量是static } }
Client
package singleton; public class Client { public static void main(String[] args) { System.out.println("Start."); Singleton obj1 = Singleton.getInstance(); Singleton obj2 = Singleton.getInstance(); if (obj1 == obj2) { System.out.println("obj1和obj2是同一对象实例"); } else { System.out.println("obj1和obj2并非同一对象实例"); } System.out.println("End."); } }