【发布时间】:2015-10-15 18:57:35
【问题描述】:
嗨,我有这段代码,我真的很困惑为什么我必须将 lel 方法设为静态。错误是这个“非静态方法不能从静态内容中引用”。通常,当我创建方法来构造新对象或在主方法中操作对象时,我不会收到此错误消息。另外,我从未将 e 声明为静态!!有人可以向我解释为什么会这样吗?谢谢你:)
class x {
public static void main(String[]args){
int e= 2232;
e= lel(e);
}
int lel(int k){
return k+1;
}
}
【问题讨论】:
-
你有两种方法。当您阅读非静态方法时,它指的是哪个方法?
-
当您阅读无法从静态上下文引用时,您认为是哪个上下文(假设您有两种方法,其中只有一种是
static)? -
长话短说静态方法属于类而不是对象。现在看看你的代码。您正在调用没有对象的非静态方法 lel。
-
快速提问:你认为
static是什么意思? -
错误消息中没有任何内容告诉您该方法应该是静态的。