【发布时间】:2012-05-05 07:48:54
【问题描述】:
我有一个非常简单的类,我想将它用作另一个类的子类。但是当我把它的代码放在父类中时,我得到:
非静态变量 this 不能从静态上下文中引用
另一方面,当我将子类 GenTest 的类代码放在“父类”类代码之外时 - JavaApp1 我没有收到此错误。
public class JavaApp1 {
class GenTest {
@Deprecated
void oldFunction() {
System.out.println("don't use that");
}
void newFunction() {
System.out.println("That's ok.");
}
}
public static void main(String[] args) {
GenTest x = new GenTest();
x.oldFunction();
x.newFunction();
}
}
为什么会这样?
【问题讨论】:
-
值得一提的是,GenTest 不是 JavaApp1 的子类。它是一个嵌套类。不同之处在于子类继承其父类的公共和受保护属性。
-
只需将 GenTest 放在它自己的文件中。无需嵌套在 JavaApp1 中。
标签: java compiler-errors subclass non-static