为什么我的方法应该是静态的?
Why should my method be static?
嗨,我有这段代码,我真的很困惑为什么我必须使用 lel 方法 static.The,错误是这个 "non static method cant be referred from static content"。通常当我创建方法来构造新对象或在 main 方法中操作对象时,我不会收到此错误 message.Plus,我从未将 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)
您的另一个选择是声明一个新的 class x 对象,并将其用于 main 中的 lel 方法,如 MickMnemonic 在评论中所建议的那样。该代码如下所示:
e = new x().lel(e);
我认为最简单的方法是将 lel 方法设为静态,但这取决于您。
可以找到静态方法的更深入的解释here.
嗨,我有这段代码,我真的很困惑为什么我必须使用 lel 方法 static.The,错误是这个 "non static method cant be referred from static content"。通常当我创建方法来构造新对象或在 main 方法中操作对象时,我不会收到此错误 message.Plus,我从未将 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)
您的另一个选择是声明一个新的 class x 对象,并将其用于 main 中的 lel 方法,如 MickMnemonic 在评论中所建议的那样。该代码如下所示:
e = new x().lel(e);
我认为最简单的方法是将 lel 方法设为静态,但这取决于您。
可以找到静态方法的更深入的解释here.