// INHERIT17 class A { public int x; public A(int x) { this.x = x; } public String toString() { return "x = " + x; } public boolean equals(A a) { return x == a.x; } public Object clone() { return new A(x); } } public class inherit17 { public static void main(String[] args) { A a1 = new A(1); A a2 = (A) a1.clone(); System.out.println(a1); // x = 1 System.out.println(a2); // x = 1 System.out.println(a1.equals(a2)); // true System.out.println(a1.getClass()); // class A } }