/* Listing4306.java */ import java.lang.reflect.*; public class Listing4306 { public static void main(String[] args) { Class clazz = TestConstructors.class; //Formale Parameter definieren Class[] formparas = new Class[2]; formparas[0] = String.class; formparas[1] = String.class; try { Constructor cons = clazz.getConstructor(formparas); //Aktuelle Argumente definieren Object[] actargs = new Object[] {"eins", "zwei"}; Object obj = cons.newInstance(actargs); ((TestConstructors)obj).print(); } catch (Exception e) { System.err.println(e.toString()); System.exit(1); } } } class TestConstructors { private String arg1; private String arg2; public TestConstructors() { arg1 = "leer"; arg2 = "leer"; } public TestConstructors(String arg1) { this(); this.arg1 = arg1; } public TestConstructors(String arg1, String arg2) { this(); this.arg1 = arg1; this.arg2 = arg2; } public void print() { System.out.println("arg1 = " + arg1); System.out.println("arg2 = " + arg2); } }