我有一个Point.我想x成为一个int.如果我使用Point.x,我会得到x一个int.但我觉得我应该尽可能使用getter(为什么要使用getter和setter?).问题Point.getX()是它返回一个double而不是int.
哪个更好,还是只是偏好?
a还是b?
Point point = new Point(5, 5);
int a = point.x;
int b = (int) point.getX();
Run Code Online (Sandbox Code Playgroud)
我已经阅读了Java Point,getX()和point.x之间的区别,但它并没有真正回答我的问题.或者至少我不明白答案.
该类的getX()和getY()函数Point返回一个 double,因为这是其父类 ( Point2D ) 所需要的。这样它的所有子类(Point2D.Double和Point2D.Float)都将在相同的位置工作。
在这种情况下,直接使用point.xandpoint.y代替 getter 函数可能没问题,因为 Point 类是一个奇怪的极端情况,似乎没有人喜欢——大多数人认为它应该是不可变的,或者至少更好地隐藏它的值。
如果您害怕代码审查之类的事情,只需在其中添加注释,解释为什么要直接访问 x 和 y 变量。
tl;dr:这只是取决于个人喜好。
| 归档时间: |
|
| 查看次数: |
5806 次 |
| 最近记录: |