Как получить доступ к супер классу TreelectorListener в Java?
-
16-09-2019 - |
Вопрос
this.addTreeSelectionListener(new TreeSelectionListener() {
public void valueChanged(TreeSelectionEvent e) {
// How do I access the parent tree from here?
}
});
Решение
TreeSelectionListener
это интерфейс, поэтому единственным родительским классом был бы Object
, с которым вы должны быть в состоянии позвонить super
.
Если вы имели в виду, что вызывает какой-то метод прилагающего класса, вы можете назвать его напрямую, как в рамках способа.
Другие советы
Ты можешь использовать OuterClass.this
:
public class Test {
String name; // Would normally be private of course!
public static void main(String[] args) throws Exception {
Test t = new Test();
t.name = "Jon";
t.foo();
}
public void foo() {
Runnable r = new Runnable() {
public void run() {
Test t = Test.this;
System.out.println(t.name);
}
};
r.run();
}
}
Однако, если вам просто нужно получить доступ к член В прилагающем экземпляре, вместо того, чтобы получать ссылку на самому экземпляру, вы можете просто получить доступ к нему напрямую:
Runnable r = new Runnable() {
public void run() {
System.out.println(name); // Access Test.this.name
}
};
Не связан с StackOverflow