public enum HumanEnum {
YelloMaleHuman("com.factory.test1.YellowMaleHuman"),
YelloFemaleHuman("com.factory.test1.YellowFemaleHuman"),
WhiteFemaleHuman("com.factory.test1.WhiteFemaleHuman"),
WhiteMaleHuman("com.factory.test1.WhiteMaleHuman"),
BlackFemaleHuman("com.factory.test1.BlackFemaleHuman"),
BlackMaleHuman("com.factory.test1.BlackMaleHuman");
private String value = "";
//定义构造函数,目的是Data(value)类型的相匹配
private HumanEnum(String value){
this.value = value;
}
public String getValue(){
return this.value;
}
YelloMaleHuman("com.factory.test1.YellowMaleHuman"),
YelloFemaleHuman("com.factory.test1.YellowFemaleHuman"),
WhiteFemaleHuman("com.factory.test1.WhiteFemaleHuman"),
WhiteMaleHuman("com.factory.test1.WhiteMaleHuman"),
BlackFemaleHuman("com.factory.test1.BlackFemaleHuman"),
BlackMaleHuman("com.factory.test1.BlackMaleHuman");
private String value = "";
//定义构造函数,目的是Data(value)类型的相匹配
private HumanEnum(String value){
this.value = value;
}
public String getValue(){
return this.value;
}
}
package com.factory.test1;
import com.factory.test.HumanFactory;
public abstract class AbstractHumanFactory extends HumanFactory {
protected Human createHuman(HumanEnum humanEnum)
{
Human human=null;
if(!humanEnum.getValue().equals(""))
{
try {
human=(Human)Class.forName(humanEnum.getValue()).newInstance();
} catch (Exception e) {
// TODO: handle exception
}
}
return human;
}
}