Dostęp "this" z klasy Java anonymous

Podano następujący kod:

public interface Selectable {
  public void select();
}

public class Container implements Selectable {
  public void select() {
  ...
  }
  public void createAnonymousClass() {
    Selectable s = new Selectable() {
      public void select() {
        //see comment below.
      }
    };
  }
}

Chcę uzyskać dostęp do Container.select() z mojej anonimowej metody klasy select(). Jednak this.select() ponownie wywoła metodę anonymous class ' select().

Moja propozycja to:

Wprowadź pole do kontenera, np.

private Container self = this;

Teraz mogę uzyskać dostęp Container.select() przez wywołanie self.select() z anonimowej klasy.

Czy to rozsądny sposób? A może są jakieś lepsze sposoby?
Author: Tom Hawtin - tackline, 2009-07-05

2 answers

Container.this.select();
 246
Author: Mykola Golubyev,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2009-07-05 14:07:47

Możesz napisać Container.this.select() do klasy wewnętrznej !

 40
Author: PeterMmm,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2012-05-14 01:28:55