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

时间:2011-05-26 21:01:21

标签: java awt

xy以及整数,而getX()getY()会返回双打。

为什么不存在,例如getXIntValue()getXDoubleValue(),反之亦然y

3 个答案:

答案 0 :(得分:5)

注意Javadoc中的@since - 1.0

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

答案 1 :(得分:4)

Point extends Point2D和Point2D将getX()和getY()定义为返回double。正如@Dilum上面提到的那样,它的设计来自于java的石器时代。

答案 2 :(得分:1)

正如其他人所说,这是因为它很古老。但我喜欢它,因为它可以节省打字并增加清晰度;对于简单的课程,恕我直言的getter和setter可能是浪费时间,如果它们是公开的,他们要做的就是返回值并设置它,这是99%的时间都是你想要的。

设计理念发生了变化,现在一切都在使用它们。但事情已经完全循环,在像Groovy这样的现代语言中,这些将是“属性”,使用getters / setter推断,语法非常类似于访问Java中的公共字段。

E.g。 http://groovy.codehaus.org/Groovy+Beans

修改:根据(非官方)Scala style guide

  

请注意,字段实际上可用于访问者和访问者的许多情况   像Java这样的语言需要mutators。总是喜欢字段而不是方法   给予选择时。