Pregunta

Estoy intentando crear una instancia de una clase a partir de una variable y escribí un código de prueba.Pero, lamentablemente, no funciona.Aquí está el código:

Object co1 = new CommandDownloadHttp();
Class cc1 = Class.forName("CommandDownloadHttp");
Object co = cc1.newInstance();

Desafortunadamente, en la segunda línea falla. java.lang.ClassNotFoundException.

¿Puedes decirme qué estoy haciendo mal?

¿Fue útil?

Solución

¿Es CommandDownloadHttp el lleno nombre de la clase, es decir¿No tiene paquete?Si se hace Tienes un paquete, incluye que:

Class.forName("foo.bar.CommandDownloadHttp");

(Supongo que hay una mejor razón para que hagas esto en tu código real, por cierto; claramente, en este caso no necesitas recuperar la clase mediante reflexión :)

Otros consejos

Es el clase en un paquete? Y se importa este paquete? Por lo que funciona en la línea 1. Sin embargo, se necesita el nombre cualificado completo en Class.forName ( "my.package.to.CommandDownloadHttp").

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top