Java анонимный класс и достижимая приватная переменная

interface Test {
public void test();
}

public class TestMain {
private String h = "AAA";

public static void main(String[] args) {
    TestMain t = new TestMain();
}

public TestMain() {
    Test t = new Test() {
        public void test()  {
            System.out.println( h );
        }
    };

    t.test();
}

}

Приведенный выше источник работает хорошо.

Но я думаю, что переменная 'h' должна быть недоступна из анонимного класса. Мне нужно знать, почему она работает хорошо.

Заранее спасибо за помощь!

5
задан oksayt 31 October 2011 в 04:41
поделиться