【发布时间】:2013-01-14 02:13:30
【问题描述】:
可能重复:
non-static variable cannot be referenced from a static context (java)
public class DemoJava {
public class Hello {
void fun()
{
System.out.println("This is static fun man!!");
}
}
public static void main(String[] args) {
Hello hello = new Hello();
hello.fun();
}
}
在这个例子中,它会给我一个错误,因为我试图从一个静态方法访问一个非静态类。美好的。例如,如果我在另一个文件中有相同的 Hello 类并且我做同样的事情,它不会给我一个错误。
即使在这种情况下,我们也试图从静态方法访问非静态类。但这并没有给出任何错误。为什么?
【问题讨论】:
-
@EJP 我同意这是重复的,但这实际上正确地指出了问题。在该示例中,如果您看到给出了近 100 行的整个代码。指出错误会很困难。这就是为什么我再次发布这个。 :)