Java-Shildt-180InnerClassDemo2

Материал из Викиучебника — открытых книг для открытого мира

Полный справочник по Java. Java SE 6 Edition. 7-е издание. Герберт Шилдт. "Вильямс", Москва - Санкт-Петербург - Киев, 2007, стр.180.

// 180
// Компиляция этой программы будет невозможна.
class Outer  {
   int outer_x = 100;
   void test()  {
      Inner inner = new Inner();
      inner.display();
   }
   // это внутренний класс
   class Inner  {
      int y = 10;  // y - локальная переменная класса Inner
      void display()  {
         System.out.println("output: outer_x = " + outer_x);
      }
   }
// 181
   void showy()  {
      System.out.println(y); // ошибка; здесь переменная y не известна!
   }
}
class InnerClassDemo2  {   
   public static void main(String args[])  {
      Outer outer = new Outer();
      outer.test();
   }
}