在尝试为another issue with ReactFx's Var
bindings的调查提供一个最小的例子时,我偶然发现了一些愚蠢的JavaFX属性的奇怪实现。我正在尝试使用SimpleIntegerProperty
作为期望Property<Integer>
的函数的参数。但是,这不会编译,因为SimpleIntegerProperty
没有实现此接口。相反,它实现了Property<Number>
。我觉得很奇怪,我无法分配Property<Integer> p = new SimpleIntegerProperty()
,如下面的代码所示:
javafx.beans.property.Property<Integer> p;
javafx.beans.property.SimpleIntegerProperty s;
p = s;
我理解为什么在当前的继承层次结构中这不起作用,但它感觉很奇怪,我正在寻找设计背后的动机。