Access "this" from Java anonymous class
Given the following code:
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.
}
};
}
}
I want to access Container.select()
from within my anonymous class' select()
method. However, this.select()
would again call the anonymous class' select()
method.
My suggestion would be:
Introduce a field into Container, e.g.
private Container self = this;
Now I can access Container.select()
by calling self.select()
from within the anonymous class.
Is this a reasonable way? Or are there any better ways?
Solution 1:
Container.this.select();
Solution 2:
You can write Container.this.select()
to distinct from the inner class !