Java自定义方法不起作用

Java自定义方法不起作用,java,Java,我是一个初学者,我开始通过做一些练习来学习编程 练习。。。 为什么这个简单的java代码会给我一个错误 class HelloWorldEdited { public int a = 5; public int b = 2; public static int sum() { return a + b; } public static void main(String[] args) { HelloWorldEdited

我是一个初学者,我开始通过做一些练习来学习编程 练习。。。 为什么这个简单的java代码会给我一个错误

class HelloWorldEdited {
    public int a = 5;
    public int b = 2;

    public static int sum() {
        return a + b;
    }

    public static void main(String[] args) {
        HelloWorldEdited obj = new HelloWorldEdited();

        System.out.println(obj.sum());
    }
}

我认为这是因为您正在从静态方法sum访问非静态属性a,b,所以禁止此操作

尝试改变

public static int sum()

要理解静态修饰符,我建议您阅读:
方法和是静态的。在这种方法中,您不能访问非静态变量。

您得到了什么错误?在提问时,确保包含所有相关信息,否则人们将不太愿意回答你的问题。有关更多信息,请参阅。诊断和更正错误的第一步始终是阅读错误消息…将公共静态整数和更改为公共整数和解决问题,感谢您的建议。我将阅读如何askstatic成员属于类非静态成员属于实例。假设您有许多实例,如new HelloWorldEdited1,2;和新HelloWorldEdited3,4;调用HelloWorldEdited.sum时应使用哪些值a和b。。。编译器也不知道这是为什么它在Java中被禁止。
public int sum()