📜  java中的点类是什么? - Java (1)

📅  最后修改于: 2023-12-03 15:02:02.932000             🧑  作者: Mango

Java中的点类是什么?

在Java中,点类通常是指点的二维坐标表示。点可以是图形的一部分,也可以作为数据结构中的一个元素。在Java API中,点类通常被称为Point类或者Point2D类。

Point类

在Java中,Point类是一个表示二维点的基本类。它有两个实例变量:x和y,分别表示点的水平和垂直坐标。Point类还有一些常用的方法,比如:

  • setLocation(int x, int y):将点的位置设置为(x, y)。
  • getLocation():返回一个包含当前点位置的新Point对象。
  • move(int x, int y):将点的位置相对移动x和y个单位。
  • distance(Point p):返回当前点和目标点之间的距离。

Point类也有一些其它的方法可以用于比较和操作点对象。

Point2D类

与Point类类似,Point2D类也用于表示二维坐标。不同之处在于,Point2D类是一个抽象类,提供了更多的灵活性和功能。Point2D可以表示任何二维坐标系,例如直角坐标系、极坐标系和笛卡尔坐标系等。

Point2D类有两个具体的子类:Point2D.Double和Point2D.Float。它们分别用于表示双精度和单精度浮点数形式的点。

Point2D类除了提供Point类类似的方法外,还提供了一些额外的方法,比如:

  • distance(Point2D pt):返回当前点和目标点之间的距离。
  • distanceSq(Point2D pt):返回当前点和目标点之间的平方距离。
  • clone():返回一个当前点对象的副本。
示例代码

以下是一个示例程序,用于演示如何在Java中使用Point和Point2D类:

import java.awt.Point;
import java.awt.geom.Point2D;

public class PointDemo {
    public static void main(String[] args) {
        // 使用Point类表示点坐标
        Point p1 = new Point(10, 20);
        System.out.println("p1: " + p1);
        p1.setLocation(30, 40);
        System.out.println("p1: " + p1);
        
        // 使用Point2D类表示点坐标
        Point2D p2 = new Point2D.Double(1.0, 2.0);
        System.out.println("p2: " + p2);
        p2.setLocation(3.0, 4.0);
        System.out.println("p2: " + p2);
    }
}

输出结果如下:

p1: java.awt.Point[x=10,y=20]
p1: java.awt.Point[x=30,y=40]
p2: java.awt.geom.Point2D$Double[x=1.0,y=2.0]
p2: java.awt.geom.Point2D$Double[x=3.0,y=4.0]

在这个例子中,我们分别使用Point和Point2D类来表示点的坐标,并调用了它们的方法来设置点的位置和打印输出点对象的信息。