Wie greife ich auf die Superklasse von TreeSelectionListener in Java?
-
16-09-2019 - |
Frage
this.addTreeSelectionListener(new TreeSelectionListener() {
public void valueChanged(TreeSelectionEvent e) {
// How do I access the parent tree from here?
}
});
Lösung
TreeSelectionListener
ist eine Schnittstelle, so dass die einzige übergeordnete Klasse Object
werden würde, die Sie sollten mit super
anrufen können.
Wenn Sie eine Methode der umgebenden Klasse gemeint aufrufen, können Sie es nennen direkt als innerhalb einer Methode.
Andere Tipps
Sie können OuterClass.this
verwenden:
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();
}
}
Wenn Sie jedoch nur ein Mitglied zugreifen müssen in der umschließenden Instanz, anstatt einen Verweis auf die Instanz immer selbst, man kann es nur direkt zugreifen:
Runnable r = new Runnable() {
public void run() {
System.out.println(name); // Access Test.this.name
}
};
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow