En java, ¿puedo usar un objeto de clase para crear instancias dinámicas de clases de ese tipo?instanciar clase del objeto de clase
es decir, quiero algunas funciones como esta.
Object foo(Class type) {
// return new object of type 'type'
}
En java, ¿puedo usar un objeto de clase para crear instancias dinámicas de clases de ese tipo?instanciar clase del objeto de clase
es decir, quiero algunas funciones como esta.
Object foo(Class type) {
// return new object of type 'type'
}
Puede utilizar Class.newInstance
:
Object foo(Class type)
throws InstantiationException, IllegalAccessException {
return type.newInstance();
}
... sino que asume que hay un constructor sin argumentos. Una ruta más sólida es pasar por Class.getConstructor
o Class.getConstructors
, lo que lo lleva a utilizar las cosas de Reflection en el paquete java.lang.reflect
.
Uso:
type.newInstance()
Para crear una instancia utilizando el costructor vacía, o utilizar el método type.getConstructor (..) para obtener el constructor correspondiente y luego invocarlo.
Sí, se llama Reflexión. puede usar el método de Clase newInstance()
para esto.
use el método newInstance().
Usted puede leer más sobre él en: http://java.sun.com/docs/books/tutorial/reflect/index.html También este post tiene muy buena información: http://stackoverflow.com/questions/37628/what-is-reflection-and-why-is-it-useful – RonK