主要知识点:
1.将类的构造方法私有化.(private)
2.在内部产生该类的实例化对象,将其封装成private static.
3.定义一个静态方法返回该类的实例.
package checksingle; public class SingleClass { //饿汉 //私有的构造方法 private SingleClass() {} //将自身的实例化对象设置为属性,用static和final修饰 private static final SingleClass instance = new SingleClass(); //静态方法返回该类的实例 public static SingleClass getInstance(){ return instance; } }
懒汉式:synchronized,避免多线程访问
public class SingleClass2 { // 懒汉式,节约内存 // 私有的构造方法防止其通过new创建对象 private SingleClass2() {} // 将自身的实例化对象设置为属性,用static和final修饰 private static SingleClass2 instance; // 静态方法返回该类的实例 public static synchronized SingleClass2 getInstance() { if (instance == null) { instance = new SingleClass2(); } return instance; } }