Почему я получаю «не -статическую переменную, на которую нельзя ссылаться из статического контекста»?

У меня есть очень простой класс, который я хочу использовать как подкласс другого один. Но когда я помещаю его код в родительский класс, я получаю:

не -статическую переменную, на которую нельзя ссылаться из статического контекста

. С другой стороны, когда я помещаю код класса подкласса 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();
    }
}

Почему это происходит?

15
задан Patryk 24 April 2012 в 16:20
поделиться