java 的switch 语句的case 匹配为什么不能像delphi一样 支持String类型 哦
这里可以通过反射的话效果更佳
下面是创建的对象的 接口
下面都是具体实现
这里可以通过反射的话效果更佳
// 女友工厂
public class DreamGirlCreatFactory {
public static DreamGirl creatDreamGirl(String girlName){
if(girlName.equals("BeautifulGirl")){
return new BeautifulGirl();
}else if(girlName.equals("LivelyGirl")){
return new LivelyGirl();
}
else if(girlName.equals("LooksMediocreGirl")){
return new LooksMediocreGirl();
}else if(girlName.equals("SensibleGirl")){
return new SensibleGirl();
}
return null;
}
public static void main(String[] args){
String girlName1 = "BeautifulGirl";
String girlName2 = "LivelyGirl";
String girlName3 = "LooksMediocreGirl";
String girlName4 = "SensibleGirl";
String[] girlName = new String[4];
girlName[0]=girlName1;
girlName[1]=girlName2;
girlName[2]=girlName3;
girlName[3]=girlName4;
for(int i=0; i<4;i++){
DreamGirl girl = DreamGirlCreatFactory.creatDreamGirl( girlName[i]);
girl.can_do_something_for_boy();
}
}
}
下面是创建的对象的 接口
//基类
public class DreamGirl {
public void can_do_something_for_boy(){
}
}
下面都是具体实现
public class BeautifulGirl extends DreamGirl {
public void can_do_something_for_boy() {
System.out.println("陪老公逛街!!!");
}
}
public class LivelyGirl extends DreamGirl {
public void can_do_something_for_boy() {
System.out.println("陪老公聊天!!!");
}
}
public class LooksMediocreGirl extends DreamGirl {
public void can_do_something_for_boy() {
System.out.println("给老公做饭!!!");
}
}
public class SensibleGirl extends DreamGirl {
public void can_do_something_for_boy() {
System.out.println("给老公洗衣服!!!");
}
}