Доступ вмещающий класс от внутреннего класса

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


public class TestIt {

  public static void main(String a[]){

     new TestIt().doit();

  }

  public void doit() {

      new InnerClass().sayHello();

  }

  public void enclosingClassMethod(){

      System.out.println("Hello world!");

      }

   class InnerClass {

      public void sayHello() {

         TestIt.this.enclosingClassMethod();

         }

    }

}



or



public class TestIt {

  TestIt testItClass = this;

  public static void main(String a[]){

     new TestIt().doit();

  }

  public void doit() {

      new InnerClass().sayHello();

  }

  public void enclosingClassMethod(){

      System.out.println("Hello world!");

      }

   class InnerClass {

      public void sayHello() {

         testItClass.enclosingClassMethod();

         }

    }

}

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

Можно использовать следующие HTML-теги и атрибуты: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>