单例模式
概念
单例模式就是类别只有一个实例,每次在必得类调用这个类的实例,都是同一个实例。通过单例模式可以保证系统中一个类只有一个实例而且该实例易于外界访问,从而方便对实例个数的控制并节约系统资源。如果希望在系统中某个类的对象只能存在一个,单例模式是最好的解决方案。如打印机、显卡等等这些系统资源。如果做Android程序指导对于系统的servcie好多都设计成单例模式,都是通过getservice来获取的。
定义
要实现单例模式,很简单只要把构造函数设计成私有的,接着通过通过提供一个Public的获取对象的函数接口给系统使用,这样必得类要获取这个对象就是私有的。
用途
单一实例化一些资源,当然还分什么饥饿式单例模式和懒汉式单例模式,饥饿式单例模式:就是定义的时候就实例化、懒汉式单例模式:第一次用的时候实例化
源码
package singleton;
public class Singleton {
private String name;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
private static Singleton uniqueInstance = null;
private Singleton() {
}
public static Singleton getInstance() {
if (uniqueInstance == null) {
uniqueInstance = new Singleton();
}
return uniqueInstance;
}
}
测试代码:
package test;
import singleton.Singleton;
public class Main {
public static void main(String[] args) {
Singleton singleton = Singleton.getInstance();
Singleton singleton2 = Singleton.getInstance();
singleton.setName("aaa");
singleton2.setName("bbb");
System.out.println(singleton.getName());
}
}
运行结果:
bbb