// This version of the client code uses the Point's toString method. public class PointMain { public static void main(String[] args) { // create two Point objects Point p1 = new Point(7, 2); Point p2 = new Point(4, 3); System.out.println("p1 is " + p1); System.out.println("p1's distance from origin = " + p1.distanceFromOrigin()); System.out.println("p2 is " + p2); System.out.println("p2's distance from origin = " + p2.distanceFromOrigin()); // translate(p1, 11, 6); // static method version p1.translate(11, 6); // "instance method" version p2.translate(1, 7); double d = p1.distance(p2); System.out.println("p1's distance from p2 = " + d); // encapsulation p1.setLocation(0, 0); System.out.println("p1 is " + p1); System.out.println("p2 is " + p2); } /* We don't need these methods any more; they're replaced by methods in the Point class. public static double distanceFromOrigin(Point p) { return Math.sqrt(p.x * p.x + p.y * p.y); } public static void translate(Point p, int dx, int dy) { p.x += dx; p.y += dy; } */ }