x
和y
以及整数,而getX()
和getY()
会返回双打。
为什么不存在,例如getXIntValue()
,getXDoubleValue()
,反之亦然y
?
答案 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。总是喜欢字段而不是方法 给予选择时。