设计模式之Singleton——生育篇
老妈对我们没给她生个小子而是个女儿始终耿耿于怀,这不最近不知从那里听说现在政策允许再生一胎的消息后,不停的在我耳边唠叨。说道生孩子,就不得不提一提我国的计划生育政策,“只生一个好,儿女都一样”,“少生,优生,幸福一生”等等这些标语满大街都是,计划生育政策也确实为我国控制人口立下了汗马功劳,不过我觉得让许多人真正只想生一个的应该归功于教育产业化,医疗产业化等等这一大群产业化,至少我就是这样想的。嘿嘿,好象说远了,那好,让我们言归正传开始吧。
1、我们定义孩子(Child)类:
public class Child {
public static boolean existChild = false; //是否有孩子的标志有true,没有false
public static Child getChild() { //生孩子
if(existChild==false) {
System.out.println("你还没有孩子,可以生一个!");
existChild = true;
return new Child();
}
else{
System.out.println("你已经有孩子了,不能再生了!");
return null;
}
}
}
2、编写测试类:
public class Test {
public static void main(String args[]) {
Child.getChild();
Child.getChild(); //当你已有一个孩子而再想生一个时,会提示你不能再生了
}
}
3、说明:
A:定义:Singleton模式的作用是保证在Java应用程序中,一个类Class只有一个实例存在。
B:在本例中控制单一性是使用existChild这个标志,其实也可以通过使用synchronized关键字来实现,板桥兄的文章对此阐述的很清楚,恕在此就不多说了。