2014-10-12 116 views
0
public class Welcome { 
    public class OperationFactory { 

     public static Operation createOperate(String operate) { 
      Operation operation = null; 
      if("+".equalsIgnoreCase(operate)) { 
       operation = new OperationAdd(); 
      }else if("-".equalsIgnoreCase(operate)) { 
       operation = new OperationSub(); 
      }else if("*".equalsIgnoreCase(operate)) { 
       operation = new OperationMul(); 
      }else { 
       operation = new OperationDiv(); 
      } 
      return operation; 
     } 
    } 
} 

問題是:方法createOperate不能聲明爲靜態;靜態方法只能在靜態或頂級類型中聲明 我不知道如何解決。謝謝createOperate方法不能被聲明爲靜態;靜態方法只能在靜態或頂級類型中聲明

回答

1

由於錯誤信息中明確指出,你有3種選擇:

  1. 變化createOperate方法是非靜態
  2. 變化OperationFactory類是靜態
  3. 動靜態方法createOperate至封閉Welcome