A出现错误 “非静态方法不能从静态上下文中引用”,不确定
问题描述:
可能重复:
What is the reason behind “non-static method cannot be referenced from a static context”?A出现错误 “非静态方法不能从静态上下文中引用”,不确定
public void Sort(){
*some code*
}
public void displayResults()
{*more code*
}
public static void main(String[] args)
{
Sort();
displayResults();
}
为什么会出现这个错误?我有sort();在另一个抽象类中,然后这个类将扩展它。
-Confused
答
您需要实例包含Sort()
,displayResults()
和主要的类,你可以从main()
致电Sort()
或displayResults()
之前。
class Example {
public void Sort(){
// *some code*
}
public void displayResults()
{
// *more code*
}
public static void main(String[] args)
{
Example ex = new Example()
ex.Sort();
ex.displayResults();
}
}
+0
丹科!这解决了我的问题。 – jackie
答
您需要一个类的实例来调用非静态方法。从静态方法调用,您没有实例,因为静态关联到类,而不是实例。因此,您不允许调用非静态方法或从静态上下文中访问非静态变量。
努力做出一个小例子的好工作,但你忘了包含类:) – ObscureRobot