clone と equals

import java.io.*;
import java.awt.*;

public class Test {
	public static void main(String args[])
	{
		Point pt1 = new Point(1, 2);
		Point pt2, pt3;
					// 代入
		pt2 = pt1;
					// コピーの生成
		pt3 = (Point)pt1.clone();
					// 内容の出力
		System.out.println("pt2:pt1を代入,pt3:pt1のクローン");
		System.out.println("   pt2 " + pt2.getX() + " " + pt2.getY());
		System.out.println("   pt3 " + pt3.getX() + " " + pt3.getY());
					// 演算子による比較(ポインタの値だけを比較)
		System.out.print("pt1とpt2の==演算子による比較 ");
		if (pt1 == pt2)
			System.out.println("True");
		else
			System.out.println("False");

		System.out.print("pt1とpt3の==演算子による比較 ");
		if (pt1 == pt3)
			System.out.println("True");
		else
			System.out.println("False");
					// equals()による比較(ポインタが指している内容を比較)
		System.out.print("pt1とpt2のequalsによる比較 ");
		System.out.println(pt1.equals(pt2));
		System.out.print("pt1とpt3のequalsによる比較 ");
		System.out.println(pt1.equals(pt3));
	}
}
		
(出力)
pt2:pt1を代入,pt3:pt1のクローン
   pt2 1.0 2.0
   pt3 1.0 2.0
pt1とpt2の==演算子による比較 True
pt1とpt3の==演算子による比較 False
pt1とpt2のequalsによる比較 true
pt1とpt3のequalsによる比較 true