单例模式
Singleton Pattern 属于创建型模式。 涉及到一个单一的类,该类负责创建自己的对象,同时确保只有一个对象被创建。这个类提供一种其唯一的访问对象的方式,可以直接访问,不需要实例化该类的对象。
注意点
- 单例类只能由一个实例
- 单例类必须自己创建自己的唯一实例
- 但离了i必须给所有对象提供这一个实例、
意图:保证一个类仅有一个实例,并且提供一个访问它的全局访问点
主要解决:一个全局使用的类频繁的创建与销毁
优点:
- 内存中只有一个单例,减少了内存的开销,尤其是频繁的创建和销毁实例
- 避免对资源的多重占用 比如说文件操作等情况
缺点:
- 没有接口,不能继承,与单一职责冲突,一个类只关心内部逻辑,不关心外部怎么进行实例化
public class SingleObject {
//创建 SingleObject 的一个对象
private static SingleObject instance = new SingleObject();
//让构造函数为 private,这样该类就不会被实例化
private SingleObject(){
}
//获取唯一可用的对象
public static SingleObject getInstance(){
return instance;
}
public void showMessage(){
System.out.println