Ho una classe molto semplice che voglio usare come sottoclasse di un'altra. Ma quando ho messo il suo codice nella classe dei genitori ottengo:Perché ottengo "variabile non statica che non può essere referenziata da un contesto statico"?
variabile non statico questo non è possibile fare riferimento da un contesto statico
D'altra parte, quando ho messo il sublass classe s' GenTest
codice al di fuori del codice della classe "genitore" - JavaApp1
Non ho ricevuto questo errore.
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();
}
}
Perché sta succedendo?
vale la pena ricordare che gentest non è una sottoclasse di JavaApp1. È una classe annidata. La differenza è che le sottoclassi ereditano le proprietà pubbliche e protette della loro classe genitore. – ccoakley
Basta inserire GenTest nel proprio file. Non è necessario nidificarlo in JavaApp1. –
http://stackoverflow.com/questions/5272957/problem-creating-object-of-inner-class-in-java –