求一个Java小程序可运行,包含两种以上的设计模式,随便什么设计模式都行

JAVA程序中需要有循环语句

第1个回答  推荐于2017-09-26
public class ManFactory {

/* 以下是单例模式的使用,外部需要使用该类时只能实例化一个对象*/
private static ManFactory mf = new ManFactory();
private static List<Man> allMan = new ArrayList<ManFactory.Man>();

private ManFactory(){}

public static ManFactory instance(){
return mf;
}

/*这里是简单工厂模式的使用,当需要一个人的时候,直接调用工厂类的造人方法, 而不用去新建一个人*/
public Man makeMan(String name){
Man man = new Man();
man.setName(name);
allMan.add(man);//将造出来的人放入工厂的一个集合中,当以后需要这群人统一做事的时候,可以直接获取到
return man;
}

public static List<Man> getAllMan() {
return allMan;
}

class Man{
private String name;

public void dancing(){
System.out.println(name +"正在跳舞");
}
public void setName(String name) {
this.name = name;
}
}

public static void main(String[] args) {
/*使用了单例模式,看上去是构建了两个工厂,其实用的还是一个*/
ManFactory fc = ManFactory.instance();
ManFactory fc2 = ManFactory.instance();
fc.makeMan("小明");
fc.makeMan("小红");
fc2.makeMan("小杨");
fc2.makeMan("小张");
for(Man man:ManFactory.getAllMan()){
man.dancing();
}
}

}本回答被网友采纳
第2个回答  2015-01-12
关注这个问题
相似回答