Rectangle类的函数getX(),getY()等以双精度返回

根据我的经验和Oracle Java API文档,我知道他们这么做,但我不知道为什么。 通过构造函数,我只允许将int类型的参数传递给Rectangle类,x,y等的内部数据表示类型为intsetSize()仅用于类型为int参数。 但是为什么像getX()getY()getWidth()等所有方法在没有精度时返回double? 为什么不简单int如预期S'

编辑:我明白它是从Rectangle2D类派生的,但这仍然没有理由只是不提供任何基于intgetX()getY()函数,因为与PointPoint2D类的区别在于那些方法不抽象。 setLocation()也不是抽象的。


我相信因为它扩展了Graphics2D中使用的Rectangle2D,它说:

这个类只是存储2D矩形的所有对象的抽象超类。 坐标的实际存储表示留给子类。

因此,如果其子类中的任何一个代表double的尺寸应该彼此兼容,也许。 如果您阅读Rectangle#getX()的Javadoc:

以double精度返回边界Rectangle的X坐标。

指定者:

类RectangularShape中的public abstract double getX()。


我认为他们把它们用于通用:
如果某些API需要x或y坐标的int版本,则可以分别直接使用recObject.x或recObject.y。
如果某些API需要x或y坐标的double版本,则可以使用getX()和getY()

链接地址: http://www.djcxy.com/p/14595.html

上一篇: Rectangle class functions getX(), getY(), etc. return in double precision

下一篇: Sort on discriminator