【发布时间】:2015-08-14 12:42:39
【问题描述】:
x 和 y 在 Point 类中都定义为 int。那么为什么getX 和getY 方法会返回double?
幸好 x 和 y 是公开的,所以我们不需要强制转换为 int 来获取值,但很好奇为什么这些方法不返回 int。
【问题讨论】:
x 和 y 在 Point 类中都定义为 int。那么为什么getX 和getY 方法会返回double?
幸好 x 和 y 是公开的,所以我们不需要强制转换为 int 来获取值,但很好奇为什么这些方法不返回 int。
【问题讨论】:
因为它继承了Point2D 类,该类将它们定义为返回双精度。
它还定义了 2 个内部类,分别将值存储为浮点数和双精度值。
20 多年后的旧课程可能看起来很奇怪。
【讨论】:
Point2D 对象可以表示二维坐标空间中的任何点。您可以使用Point2D.Double 或Point2D.Float 来表示地理或几何坐标等内容,并使用Point 来表示整数坐标,例如网格中像素或单元格的位置等。
它继承自 java.awt.geom.Point2D,其中包含抽象 #getX。
public abstract double getX();
我也想知道为什么会这样。也许这就是答案:
@since 1.2
【讨论】: