我有一個非常簡單的類,我想用它作爲另一個子類。但是,當我把它的代碼在父類,我得到:爲什麼我會得到「不能從靜態上下文中引用的非靜態變量」?
非靜態變量這不能從靜態上下文
當我把sublass 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的子類。它是一個嵌套類。不同的是,子類繼承父類的公共和受保護的屬性。 – ccoakley 2012-04-24 16:23:23
只需將GenTest放入其自己的文件中即可。沒有必要將它嵌入到JavaApp1中。 – 2012-04-24 16:23:26
http://stackoverflow.com/questions/5272957/problem-creating-object-of-inner-class-in-java – 2012-04-24 16:27:21