正如您在 Oracle 文档中看到的java.awt.Point http://docs.oracle.com/javase/6/docs/api/java/awt/Point.html,x 和 y 存储为int
。然而,getX
and getY
return double
。虽然有一个setLocation
方法需要 2double
类型,没有构造函数可以做到这一点。此外,double
被截断为int
无论如何内部。
这有充分的理由吗?您可能会避免强制转换setLocation
通过采用一种方法double
类型,但是当你调用时你会遇到相反的问题getX
and getY
。通过返回 a 也错误地表示了 Point 类的精度double
from getX
and getY
.
因为它继承自 Graphics2D 抽象类中使用的 java.awt.geom.Point2D 。出于兼容性原因,以这种方式实现,因为在此之前,java 仅支持 java.awt.Graphics,其中所有方法都是基于 int 的。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)