Utilice la reflexión de Java
Crear nuevos objetos No hay equivalente a la invocación de métodos para constructores, porque invocar un constructor es equivalente a crear un nuevo objeto (para ser más precisos, crear un nuevo objeto implica tanto la asignación de memoria como la construcción del objeto). Entonces, el equivalente más cercano al ejemplo anterior es decir:
import java.lang.reflect.*;
public class constructor2 {
public constructor2()
{
}
public constructor2(int a, int b)
{
System.out.println(
"a = " + a + " b = " + b);
}
public static void main(String args[])
{
try {
Class cls = Class.forName("constructor2");
Class partypes[] = new Class[2];
partypes[0] = Integer.TYPE;
partypes[1] = Integer.TYPE;
Constructor ct
= cls.getConstructor(partypes);
Object arglist[] = new Object[2];
arglist[0] = new Integer(37);
arglist[1] = new Integer(47);
Object retobj = ct.newInstance(arglist);
}
catch (Throwable e) {
System.err.println(e);
}
}
}
que encuentra un constructor que maneja los tipos de parámetros especificados y lo invoca, para crear una nueva instancia del objeto. El valor de este enfoque es que es puramente dinámico, con búsqueda e invocación del constructor en tiempo de ejecución, en lugar de en tiempo de compilación.