public class PointV2Tester2 { // Con getters y setters
    public static void main(String[] args) {
        PointV2 p1 = new PointV2(3, 2);
        PointV2 p2 = new PointV2(0, 0);
        PointV2 p3 = p2;
        System.out.println("Point 1: " + p1);
        System.out.println("Point 2: " + p2);
        System.out.println("Point 3: " + p3);
        System.out.println("p3 = p1;");
        p3 = p1;    // p1 y p3 SON REFERENCIAS, NO Points!
        System.out.println("Point 1: " + p1);
        System.out.println("Point 2: " + p2);
        System.out.println("Point 3: " + p3);
        System.out.println("p2 = p1;");
        p2 = p1;    // Pon breakpoint para ver las referencias (Value)
                    // Dale a la barita magica y marca String value
        // Y el garbage collector se llevara el obj (0,0)
        // porque ya nadie lo referencia
        System.out.println("Point 1: " + p1);
        System.out.println("Point 2: " + p2);
        System.out.println("Point 3: " + p3);
    }
}
