import java.lang.reflect.Constructor;
import java.lang.reflect.InvocationTargetException;
import java.awt.Rectangle;

class SampleInstance {
	public static void main(String[] args) {
      Rectangle rectangle;
      Class rectangleDefinition;
      Class[] intArgsClass = new Class[] {int.class, int.class};
      Integer height = new Integer(12);
      Integer width = new Integer(34);
      Object[] intArgs = new Object[] {height, width};
      Constructor intArgsConstructor;

      try {
			rectangleDefinition = Class.forName("java.awt.Rectangle");
        	intArgsConstructor = rectangleDefinition.getConstructor(intArgsClass);

	      System.out.println ("Constructor: " + intArgsConstructor.toString());
   	   Object object = null;

			object = intArgsConstructor.newInstance(intArgs);
        	System.out.println ("Object: " + object.toString());
      	rectangle = (Rectangle) object;
      } catch (ClassNotFoundException e) {
          System.out.println("A ClassNotFoundException occurred!\n"+e.toString()+"\n"+e.getMessage() );
      } catch (NoSuchMethodException e) {
          System.out.println("A NoSuchMethodException occurred!\n"+e.toString()+"\n"+e.getMessage() );
      } catch (InstantiationException e) {
      	System.out.println("An InstantiationException occurred!\n"+e.toString()+"\n"+e.getMessage() );
      } catch (IllegalAccessException e) {
      	System.out.println("An IllegalAccessException occurred!\n"+e.toString()+"\n"+e.getMessage() );
      } catch (IllegalArgumentException e) {
      	System.out.println("An IllegalArgumentException occurred!\n"+e.toString()+"\n"+e.getMessage() );
      } catch (InvocationTargetException e) {
        	System.out.println("An InvocationTargetException occurred!\n"+e.toString()+"\n"+e.getMessage() );
    	} //catch
   } //main()
} //class SampleInstance