私は別のクラスのサブクラスとして使用したい非常に単純なクラスを持っています。私は親のクラスでそのコードを入れたときにしかし、私は得る:私はGenTest
のクラスsublassを入れたときに、このなぜ「静的でない変数から静的なコンテキストから参照できないのですか?」
非静的変数は、一方の静的コンテキスト
から参照することはできません"親の"クラスコードの外側にあるコード - 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のサブクラスではありません。これはネストされたクラスです。違いは、サブクラスが親クラスのpublicプロパティとprotectedプロパティを継承する点です。 – ccoakley
GenTestを独自のファイルに配置するだけです。 JavaApp1にネストする必要はありません。 –
http://stackoverflow.com/questions/5272957/problem-creating-object-of-inner-class-in-java –