Java 为什么Point允许您直接访问x和y?

Java 为什么Point允许您直接访问x和y?,java,awt,Java,Awt,x和y和整数,而getX()和getY()返回双精度 为什么没有例如getXIntValue(),getXDoubleValue(),或者y没有,反之亦然?请注意Javadoc--1.0中的@since 人们普遍认为Point的设计非常糟糕。Point扩展了Point2D,Point2D将getX()和getY()定义为返回双精度。正如@Dilum在上面提到的,它的糟糕设计源自爪哇石器时代 正如其他人所说,这是因为它很古老。但我喜欢它,因为它省去了打字,增加了清晰度;IMHO getter和se

x
y
和整数,而
getX()
getY()
返回双精度


为什么没有例如
getXIntValue()
getXDoubleValue()
,或者
y
没有,反之亦然?

请注意Javadoc--1.0中的@since


人们普遍认为Point的设计非常糟糕。

Point扩展了Point2D,Point2D将getX()和getY()定义为返回双精度。正如@Dilum在上面提到的,它的糟糕设计源自爪哇石器时代

正如其他人所说,这是因为它很古老。但我喜欢它,因为它省去了打字,增加了清晰度;IMHO getter和setter对于简单类来说可能是浪费时间,如果它们是公共的,那么它们所要做的就是返回值并设置它,这是您99%的时间都想要的

设计理念改变了,现在一切都在使用它们。但事情正在周而复始,在Groovy这样的现代语言中,这些将是“属性”,推断出getter/setter,语法与Java中访问公共字段的语法非常相似

例如

编辑:根据一份(非官方)报告

请注意,字段实际上可能用于访问器和 像Java这样的语言需要使用变体。总是喜欢字段而不是方法 当有选择的时候


谢谢读这篇文章只是想让我转向Groovy.:)<代码>@因为JRE中的1.0类似于“垃圾设计”。