我收到此警告:警告:[静态]静态方法应该由类型名称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));
}
});
}
Run Code Online (Sandbox Code Playgroud)
AnchorPane.getBottomAnchor()是一种静态方法.静态方法与类相关联,而不是与实例相关联,因此应该通过类名称而不是通过引用来调用.原因是为了避免混淆最终调用哪个方法,因为静态方法无法被覆盖.有关其他一些好的附加信息,另请参阅/sf/answers/184089251/.
尝试
System.out.println(heightProperty().doubleValue()+" "+AnchorPane.getBottomAnchor(p));
Run Code Online (Sandbox Code Playgroud)