Java createOperate方法不能声明为静态;静态方法只能在静态或顶级类型中声明

Java createOperate方法不能声明为静态;静态方法只能在静态或顶级类型中声明,java,Java,问题是:createOperate方法不能声明为静态;静态方法只能在静态或顶级类型中声明 我不知道如何解决。谢谢正如错误消息明确指出的那样,您有3个选项: 将createOperate方法更改为非静态 将操作工厂类更改为静态 将静态方法createOperate移动到封闭的Welcome类中 public class Welcome { public class OperationFactory { public static Operation createOpera

问题是:createOperate方法不能声明为静态;静态方法只能在静态或顶级类型中声明
我不知道如何解决。谢谢

正如错误消息明确指出的那样,您有3个选项:

  • createOperate
    方法更改为非静态
  • 操作工厂
    类更改为静态
  • 将静态方法
    createOperate
    移动到封闭的
    Welcome
    类中
  • 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;
            }
        }
    }