Tengo una clase muy simple que quiero usar como una subclase de otra. Pero cuando pongo su código en la clase de los padres me sale:¿Por qué obtengo una "variable no estática a la que no se puede hacer referencia desde un contexto estático"?
variable no estática esto no se puede hacer referencia a un contexto estático
Por otro lado cuando pongo el sublass clase GenTest
's código fuera del código de clase del "padre" - JavaApp1
No obtengo este error.
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();
}
}
¿Por qué sucede esto?
Vale la pena mencionar que GenTest no es una subclase de JavaApp1. Es una clase anidada. La diferencia es que las subclases heredan las propiedades públicas y protegidas de su clase principal. – ccoakley
Simplemente ponga GenTest en su propio archivo. No es necesario anidarlo en JavaApp1. –
http://stackoverflow.com/questions/5272957/problem-creating-object-of-inner-class-in-java –