嗨,我有这段代码,我真的很困惑,为什么我必须使水平方法静态。错误是这种"非静态方法不能从静态内容引用"。通常,当我创建方法来构造新对象或在主方法中操作对象时,我不会得到此错误消息。另外,我从来没有声明e是静态的!!有人能给我解释一下为什么会这样吗?谢谢你:)
class x {
public static void main(String[]args){
int e= 2232;
e= lel(e);
}
int lel(int k){
return k+1;
}
}
您可以实现两种解决方案。第一个选择是让你的int lel(int k)
成为一个静态方法,看起来像static int lel(int k)
你的另一个选择是声明你的类x的一个新对象,并在main中使用你的level方法,就像MickMnemonic在评论中建议的那样。该代码看起来像:
e = new x(). level (e);
我认为最简单的方法是将level方法设置为静态,但这取决于您。
关于静态方法的更深入的解释可以在这里找到