今天看了,单例模式。感觉他的本质就是,控制类实例的个数。特例就是,控制static变量的唯一性,保证各个程序共享着同一实例。一个例子:
- package singleton;
- /**
- * @Description 这是一个单例模式的使用Demo
- * @author Kyle
- * @goal 实现一个类仅有一个实例
- * @singleton_core 控制使用new对一个类的实例构造器的任意调用
- *
- */
- public class Singleton {
- private static Singleton instance;
- private static String name;
- public static String getName() {
- return name;
- }
- public static void setName(String name) {
- Singleton.name = name;
- }
- public static String getPassword() {
- return password;
- }
- public static void setPassword(String password) {
- Singleton.password = password;
- }
- private static String password;
- private Singleton() {
- }
- public static synchronized Singleton getInstance() {
- if (instance == null) {
- instance = new Singleton();// lazy-load
- }
- return instance;
- }
- }
- class test {
- public static void main(String[] arg) {
- // Singleton single=new Singleton();//无法new
- Singleton single = Singleton.getInstance();
- single.setName("kyle");
- Singleton single2 = Singleton.getInstance();
- System.out.println(single.getName());
- }
- }