6

我很困惑为什么 Java Point 类接受两个 int 参数,而 getX() 和 getY() 方法返回双精度值。例如我可以定义一个点

Point p = new Point(4,6);

如果我打电话..

p.getX();

它将返回 4.0。如果我打电话

p.x;

我会得到4个。

这有什么原因吗?

4

1 回答 1

3

有一些Point2D.DoublePoint2D.Float扩展Point2D了它的超类,Point它们需要能够处理浮点值。请注意,还有一个setLocation( double, double ).

Point2D是一个实现点的距离计算的抽象类,并且setLocation, getX, 和getY是它的抽象方法,这就是为什么它们都使用doubles以及为什么必须在签名中Point使用 s 来实现它们。double

于 2012-04-19T03:44:24.507 回答