=========== Point.java =============================== class Point { private int x; private int y; public int getX() { return x;} public int getY() { return y;} public int dist() { return x*x + y*y;} Point(int xval, int yval) { x = xval; y = yval;} } =========== CPoint.java =============================== class CPoint extends Point { private int c; public int getC() { return c;} public int dist() { return x*x + y*y + c;} protected void setC (int cval) { c = cval;} CPoint(int xval, int yval, int cval) { super(xval,yval); c=cval; } } =========== Test.java =============================== import java.io.*; class Test { public static void main(String args[]){ Point p; CPoint q; q = new CPoint(10,20,3); System.out.println(q.dist()); // 503 p = q; System.out.println(p.dist()); // 503, not 500 System.out.println(p.getC()); // error q = p; // error } }