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