你再检查看有没有问题,根据你说的写了这些
public abstract class Fruit {
protected abstract void plant(); 
protected abstract void grow();
protected abstract void harvest();  
}//其他同
class Banana extends Fruit{
public void plant(){};
public void grow(){};
public void harvest(){};
public String toString(){
return "Banana";
}
}class Apple extends Fruit{
private boolean isSpring;
//
public void plant(){};
public void grow(){};
public void harvest(){};


public boolean isSpring() {
return isSpring;
} public void setSpring(boolean b) {
isSpring = b;
}}class FruitFactory{
//这里的type可以更换为枚举
//应该返回Fruit的,可是你要求返回"do not exist"
//so ...
public String creatFruit(int type) {
switch(type){
case 1:return new Banana().toString();
//......
default: return "Do not exist";
}
}
}

解决方案 »

  1.   

    我喜欢接口public interface Fruit {
      void plant(); 
      void grow();
      void harvest();  
    }//其他同
    class Banana implements Fruit{
    public void plant(){};
    public void grow(){};
    public void harvest(){};
    public String toString(){
    return "Banana";
    }
    }class Apple implements Fruit{
    private boolean isSpring;
    //
    public void plant(){};
    public void grow(){};
    public void harvest(){};


    public boolean isSpring() {
    return isSpring;
    } public void setSpring(boolean b) {
    isSpring = b;
    }}class FruitFactory{
    //这里的type可以更换为枚举
    //应该返回Fruit的,可是你要求返回"do not exist"
    //so ...
    public String creatFruit(int type) {
    switch(type){
    case 1:return new Banana().toString();
    //......
    default: return "Do not exist";
    }
    }
    }
      

  2.   

    纯粹一个《java与模式》里面的simple factory pattern