Click on derive.java to get source.
import java.io.*;
public class derive extends base implements Cloneable {
public item it;
public derive (int m, int n)
     { super(n); // must be first statement!
       System.out.print("derive constructor with args: ");
       System.out.print(m); System.out.print(", ");
       System.out.println(n);
       it = new item(m);
     }
public derive()
     { System.out.println("derive constructor without arg");
       it = new item(); // note: in C++, the constr call is automatic
     }
public Object clone()
   // implements the clone method
     { System.out.println("derive clone method");
       derive d = new derive();
       base b = (base)super.clone();
       d.size = b.size;
       d.data_arr = b.data_arr;
       d.it = (item)it.clone();
       return d;
     } 
public void print(PrintWriter os)
     {os.println("write derive obj to stream: ");
      os.print("   ");
      super.print(os);
      os.println();
      os.print("   ");
      it.print(os);
     }
public String toString()
     { CharArrayWriter buf = new CharArrayWriter();
       PrintWriter os = new PrintWriter(buf);
       print(os);
       return buf.toString();
     }
}// end class derive