Point2D (Java SE 13 & JDK 13 )
Description: declaration: module: java.desktop, package: java.awt.geom, class: Point2D
Keywords: java.awt.geom.Point2D class

Module java.desktop
Package java.awt.geom

# Class Point2D

java.lang.Object
java.awt.geom.Point2D

All Implemented Interfaces:
  `Cloneable`

Direct Known Subclasses:
  `Point`, `Point2D.Double`, `Point2D.Float`

    public abstract class Point2D
    extends Object
    implements Cloneable

The `Point2D` class defines a point representing a location in `(x,y)` coordinate space.

This class is only the abstract superclass for all objects that store a 2D coordinate. The actual storage representation of the coordinates is left to the subclass.

Since:
  1.2

- ## Nested Class Summary

  Nested Classes
  Modifier and Type | Class | Description
  --- | --- | ---
  `static class` | `Point2D.Double` | The `Double` class defines a point specified in `double` precision.
  `static class` | `Point2D.Float` | The `Float` class defines a point specified in float precision.

- ## Constructor Summary

  Constructors
  Modifier | Constructor | Description
  --- | --- | ---
  `protected` | `Point2D()` | This is an abstract class that cannot be instantiated directly.

- ## Method Summary

  Modifier and Type | Method | Description
  --- | --- | ---
  `Object` | `clone()` | Creates a new object of the same class and with the same contents as this object.
  `double` | `distance​(double px, double py)` | Returns the distance from this `Point2D` to a specified point.
  `static double` | `distance​(double x1, double y1, double x2, double y2)` | Returns the distance between two points.
  `double` | `distance​(Point2D pt)` | Returns the distance from this `Point2D` to a specified `Point2D`.
  `double` | `distanceSq​(double px, double py)` | Returns the square of the distance from this `Point2D` to a specified point.
  `static double` | `distanceSq​(double x1, double y1, double x2, double y2)` | Returns the square of the distance between two points.
  `double` | `distanceSq​(Point2D pt)` | Returns the square of the distance from this `Point2D` to a specified `Point2D`.
  `boolean` | `equals​(Object obj)` | Determines whether or not two points are equal.
  `abstract double` | `getX()` | Returns the X coordinate of this `Point2D` in `double` precision.
  `abstract double` | `getY()` | Returns the Y coordinate of this `Point2D` in `double` precision.
  `int` | `hashCode()` | Returns the hashcode for this `Point2D`.
  `abstract void` | `setLocation​(double x, double y)` | Sets the location of this `Point2D` to the specified `double` coordinates.
  `void` | `setLocation​(Point2D p)` | Sets the location of this `Point2D` to the same coordinates as the specified `Point2D` object.

  ### Methods declared in class java.lang.Object

  `finalize, getClass, notify, notifyAll, toString, wait, wait, wait`

- ## Constructor Details

  - ### Point2D

    protected Point2D()
    This is an abstract class that cannot be instantiated directly. Type-specific implementation subclasses are available for instantiation and provide a number of formats for storing the information necessary to satisfy the various accessor methods below.
    Since:
      1.2
    See Also:
      `Point2D.Float`, `Point2D.Double`, `Point`

- ## Method Details

  - ### getX

    public abstract double getX()
    Returns the X coordinate of this `Point2D` in `double` precision.
    Returns:
      the X coordinate of this `Point2D`.
    Since:
      1.2

  - ### getY

    public abstract double getY()
    Returns the Y coordinate of this `Point2D` in `double` precision.
    Returns:
      the Y coordinate of this `Point2D`.
    Since:
      1.2

  - ### setLocation

    public abstract void setLocation​(double x, double y)
    Sets the location of this `Point2D` to the specified `double` coordinates.
    Parameters:
      `x` - the new X coordinate of this `Point2D`
      `y` - the new Y coordinate of this `Point2D`
    Since:
      1.2

  - ### setLocation

    public void setLocation​(Point2D p)
    Sets the location of this `Point2D` to the same coordinates as the specified `Point2D` object.
    Parameters:
      `p` - the specified `Point2D` to which to set this `Point2D`
    Since:
      1.2

  - ### distanceSq

    public static double distanceSq​(double x1, double y1, double x2, double y2)
    Returns the square of the distance between two points.
    Parameters:
      `x1` - the X coordinate of the first specified point
      `y1` - the Y coordinate of the first specified point
      `x2` - the X coordinate of the second specified point
      `y2` - the Y coordinate of the second specified point
    Returns:
      the square of the distance between the two sets of specified coordinates.
    Since:
      1.2

  - ### distance

    public static double distance​(double x1, double y1, double x2, double y2)
    Returns the distance between two points.
    Parameters:
      `x1` - the X coordinate of the first specified point
      `y1` - the Y coordinate of the first specified point
      `x2` - the X coordinate of the second specified point
      `y2` - the Y coordinate of the second specified point
    Returns:
      the distance between the two sets of specified coordinates.
    Since:
      1.2

  - ### distanceSq

    public double distanceSq​(double px, double py)
    Returns the square of the distance from this `Point2D` to a specified point.
    Parameters:
      `px` - the X coordinate of the specified point to be measured against this `Point2D`
      `py` - the Y coordinate of the specified point to be measured against this `Point2D`
    Returns:
      the square of the distance between this `Point2D` and the specified point.
    Since:
      1.2

  - ### distanceSq

    public double distanceSq​(Point2D pt)
    Returns the square of the distance from this `Point2D` to a specified `Point2D`.
    Parameters:
      `pt` - the specified point to be measured against this `Point2D`
    Returns:
      the square of the distance between this `Point2D` to a specified `Point2D`.
    Since:
      1.2

  - ### distance

    public double distance​(double px, double py)
    Returns the distance from this `Point2D` to a specified point.
    Parameters:
      `px` - the X coordinate of the specified point to be measured against this `Point2D`
      `py` - the Y coordinate of the specified point to be measured against this `Point2D`
    Returns:
      the distance between this `Point2D` and a specified point.
    Since:
      1.2

  - ### distance

    public double distance​(Point2D pt)
    Returns the distance from this `Point2D` to a specified `Point2D`.
    Parameters:
      `pt` - the specified point to be measured against this `Point2D`
    Returns:
      the distance between this `Point2D` and the specified `Point2D`.
    Since:
      1.2

  - ### clone

    public Object clone()
    Creates a new object of the same class and with the same contents as this object.
    Overrides:
      `clone` in class `Object`
    Returns:
      a clone of this instance.
    Throws:
      `OutOfMemoryError` - if there is not enough memory.
    Since:
      1.2
    See Also:
      `Cloneable`

  - ### hashCode

    public int hashCode()
    Returns the hashcode for this `Point2D`.
    Overrides:
      `hashCode` in class `Object`
    Returns:
      a hash code for this `Point2D`.
    See Also:
      `Object.equals(java.lang.Object)`, `System.identityHashCode(java.lang.Object)`

  - ### equals

    public boolean equals​(Object obj)
    Determines whether or not two points are equal. Two instances of `Point2D` are equal if the values of their `x` and `y` member fields, representing their position in the coordinate space, are the same.
    Overrides:
      `equals` in class `Object`
    Parameters:
      `obj` - an object to be compared with this `Point2D`
    Returns:
      `true` if the object to be compared is an instance of `Point2D` and has the same values; `false` otherwise.
    Since:
      1.2
    See Also:
      `Object.hashCode()`, `HashMap`