我已经搜索了这个问题,但仍然没有得到任何解决方案。静态上下文中的非静态变量引用(Java)
我宣布这个简单的程序:
public class Test{
public abstract class Person {
public void talk(){
System.out.print("I am a person");
}
public abstract void display();
}
public class Student extends Person {
public void talk(){
System.out.println("I am a student");
}
public void display(){
System.out.println("Nice to meet you");
super.talk();
}
}
public static void main(String args[])
{
Student s = new Student();
s.display();
}
}
,但它不断给我的错误:
错误:非静态变量这不能从静态上下文
Student s = new Student();
引用我一直以这种方式宣布对象!我不知道今天发生了什么。
我需要了解我在这里做错了什么?
除了'main'方法,似乎没有静态方法,也没有'this'关键字的用法。你确定你发布了正确的代码吗? – npinti
它抱怨变量'this',你没有,你也不使用关键字this,所以,请确保你的文件已保存,然后再试一次 – Stultuske
是的,我是。我不知道我做错了什么。 :S –