关于我写的工厂模式的奇怪问题??
我定义了一个接口叫man里面有个echo()方法
然后定义了两个类都实现了man接口,一个类是oldman,一个类是baby,也都实现了echo方法。
然后我写了一个manfactory类,写了一个creator方法,如下:
public static man creator(String type)
{
if(type.equals("old"))
{
return new oldman();
}
else if(type.equals("baby"))
{
return new baby();
}
}
但是一编译就报告说需要返回类型是man,我写的返回类型就是man啊,为什么这样错误?如果没有if语句,比如直接return new oldman();就正确的呢?
谢谢