關於我寫的工廠模式的奇怪問題??

ejber發表於2003-05-18
我定義了一個介面叫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();就正確的呢?
謝謝

相關文章