Java - Como crear un Objeto a partir de un String.

 
Vista:

Como crear un Objeto a partir de un String.

Publicado por Manuel Ignacio (2 intervenciones) el 11/04/2007 17:05:00
¡Hola!

Es una pregunta que llevo buscando dando vueltas. ¿Existe en Java la posibilidad de que a partir de un String se defina el objeto de una clase?

Sería una función parecida a esta:

void Funcion(String NOMBRE, Class CLASE);

Y a partir de ahí se crea un Objeto de la clase CLASE cuyo identificador de la variable es NOMBRE.

Para después hacer por ejemplo: NOMBRE.metodo();

¡Muchas gracias!
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Como crear un Objeto a partir de un String.

Publicado por Mario (622 intervenciones) el 11/04/2007 17:15:58
Lo que puedes utilizar es algo que se llama Reflection.

Saludos comunidad open source.
Neos Software Inc 2007
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Como crear un Objeto a partir de un String.

Publicado por Manuel Ignacio (2 intervenciones) el 11/04/2007 17:22:17
Ya, me han dicho que es algo así, ¿pero cómo?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Como crear un Objeto a partir de un String.

Publicado por Gonzalo (180 intervenciones) el 11/04/2007 17:34:25
No, lo que puedes hacer es usar Class para hacer _parte_ de eso, pero no todo.

Es decir, puedes crear un objeto de una clase de la que tienes el nombre en una cadena:

Class.forName( "com.gonzalo.ejemplos.miClase" ).newInstance()

Eso te devuelve un objeto de miClase.

Lo que no puedes hacer es crear variables con un nombre que tengas en una cadena. Pero es que eso en realidad no sirve para mucho en Java.


Además, para usar lo de arriba, no puedes realmente crear instancias así como así, sin saber lo que son. Tienes que saber por lo menos _algo_ de esas clases, porque si no, aunque las crees, luego no sabes cómo usarlas.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Como crear un Objeto a partir de un String.

Publicado por Tom (42 intervenciones) el 11/04/2007 17:27:41
Se hace por serialización. Conviertes un objeto a string (o algo parecido) y luego al revés:

http://java.sun.com/developer/technicalArticles/Programming/serialization/
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Como crear un Objeto a partir de un String.

Publicado por angel (537 intervenciones) el 11/04/2007 17:56:13
No se lo que quieres hacer......pero .... y si creas clases anonimas y simlpemente ejecutas el metodo k kieres...
Por ejmplo:

class Sec{
public Sec(){}
public void m(){System.out.println("Sec.m()");}
}

public class Br
{
public static void main(String args[]){
new Sec().m();
}
}

Es que creo k si ademas vas a intentar crear la instancia de la clase,,,y la variable que hara referencia a esta clase,, es delcarada dentro de ese metodo solo se podra usar en ese metodo...Asi que quizas salgas del paso usando clases anonimas..

Saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Como crear un Objeto a partir de un String.

Publicado por Mario (622 intervenciones) el 11/04/2007 19:39:40
Checa este articulo http://www-128.ibm.com/developerworks/java/library/j-dyn0603/

Saludos comunidad open source
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Como crear un Objeto a partir de un String.

Publicado por Himura (184 intervenciones) el 12/04/2007 17:21:45
Hola,

Puedes cargar la clase de manera dinámica y a partir de ahi crear la instancia, o puedes usar reflection.

Saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar