/*
* 单例设计模式
*/
public class Demo10 {
public static void main(String[] args) {
SuperMan s1 = SuperMan.getInstance();
String a =s1.getName();
System.out.println(a);
SuperMan s2 = SuperMan.getInstance();
s2.setName("英雄");
System.out.println(s2.getName());
}
}
//class Single{//饿汉式
// //创建一个本类对象
// private static Single s = new Single();
// //私有化构造函数
// private Single(){}
// //定义一个方法返回该对象,让其他程序乐意获取。
// public static Single getInstance() {
// return s;
// }
//}
//class Single {//懒汉式
// private static Single s = null;
//
// private Single() {}
//
// public static Single getInstance() {
// if (s == null) {
// s = new Single();
// }
// return s;
// }
//}
class SuperMan{
private String name;
private static SuperMan man =new SuperMan("克拉克");
public static SuperMan getInstance() {
return man;
}
private SuperMan(String name) {
this.name = name;
}
public void setName(String name) {
this.name = name;
}
public String getName() {
return name;
}
}
多个程序都在操作同一配置文件,需要程序A操作后的结果,程序B要知道并继续基于A操作后的结果进行操作。前提。数据都存储在配置文件的对象中,要求程序A程序B操作的配置文件是同一个对象。
1,私有化构造函数
2,在本类中自己创建本类的唯一实例,为了安全,需要把保存这个实例对象的变量封装起来,声明成私有的,静态的。
3,要提供一个公开的方法,供别人获取这个实例。也声明成私有的,静态的。