5

次の警告が表示されます:警告: [静的] 静的メソッドは、式ではなく型名 AnchorPane で修飾する必要があります

ここに私のコードがあります:

public Chart(Vector<String[]> v, final Pane p, final AnchorPane ap){
    super();
    this.v = v;
    p.heightProperty().addListener(new ChangeListener<Number>() {
        public void changed(ObservableValue<? extends Number> ov,
        Number old_val, Number new_val) {
            draw();

            System.out.println(heightProperty().doubleValue()+" "+ap.getBottomAnchor(p));

        }
    });
}
4

1 に答える 1

10

AnchorPane.getBottomAnchor()静的メソッドです。静的メソッドはインスタンスではなくクラスに関連付けられているため、参照ではなくクラス名で呼び出す必要があります。その理由は、静的メソッドはオーバーライドできないため、最終的に呼び出されるメソッドについての混乱を避けるためです。いくつかの良い追加情報については、 https://stackoverflow.com/a/2629846/1611055も参照してください。

試す

System.out.println(heightProperty().doubleValue()+" "+AnchorPane.getBottomAnchor(p));
于 2013-01-21T19:18:07.467 に答える