インラインオーバーライド内でアクセスできるようにするために、ローカル変数を使用して保存this
しましたが、それについては満足していません。それを行うよりエレガントな方法はありますか?
public class Tree extends Plant {
public Tree() {
timeline = new Timeline(new KeyFrame(Duration.millis(40), new EventHandler<ActionEvent>() {
final Plant tree = this; // <---- here
@Override
public void handle(ActionEvent actionEvent) {
tree.setA(5); // <---- and here
}
}));
timeline.setCycleCount(Timeline.INDEFINITE);
}
}