James Fazio
James Fazio

Reputation: 6450

Java Point, difference between getX() and point.x

I am confused to as why the Java Point class takes in two int paramaters and the getX() and getY() methods return doubles. For example I could define a Point

Point p = new Point(4,6);

If I were to call..

p.getX();

It would return 4.0. and if I were to call

p.x;

I would get 4.

Any reason for this?

Upvotes: 6

Views: 12209

Answers (1)

trutheality
trutheality

Reputation: 23465

There are Point2D.Double and Point2D.Float classes that extend Point2D which is a superclass of Point and they need to be able to work with floating point values. Note that there is also a setLocation( double, double ).

Point2D is an abstract class that implements the distance calculation for points, and setLocation, getX, and getY are its abstract methods, which is why they all use doubles and why Point has to implement them with doubles in the signature.

Upvotes: 3

Related Questions