我很困惑为什么Java Point类接受两个int参数并且getX()和getY()方法返回双精度。 例如,我可以定义一个Point
Point p = new Point(4,6);
如果我打电话..
p.getX();
它将返回4.0。如果我打电话
p.x;
我会得到4。
这有什么原因吗?
答案 0 :(得分:3)
有Point2D.Double
和Point2D.Float
个类扩展Point2D
这是Point
的超类,他们需要能够使用浮点值。请注意,还有setLocation( double, double )
。
Point2D
是一个抽象类,用于实现点的距离计算,setLocation
,getX
和getY
是它的抽象方法,这就是它们都使用的原因doubles
以及为什么Point
必须在签名中使用double
来实现它们。