Duvida sobre Class

Bem estava lendo o artigo sobre Padroes e Projetos e Reflexao da revista mundo java e fikei com um duvida. O exemplo que ele utiliza sobre a classe Class é o seguinte :

   1. public class Aluno {  
   2.     private String nome;  
   3.     private int matricula;  
   4.   
   5.     public Aluno() {  
   6.     }  
   7.   
   8.     public String getNome() {  
   9.         return nome;  
  10.     }  
  11.   
  12.     public void setNome(String nome) {  
  13.         this.nome = nome;  
  14.     }  
  15.   
  16.     public int getMatricula() {  
  17.         return matricula;  
  18.     }     
  19.   
  20. }  
   1. public class TesteReflexao {  
   2.      
   3.     public TesteReflexao() {  
   4.     }  
   5.      
   6.     public static void main(String[] args){  
   7.         try{  
   8.             Class c = Class.forName("Aluno");  
   9.             System.out.println(c.getName());  
  10.              
  11.             Aluno a = (Aluno) c.newInstance();  
  12.              
  13.         }  
  14.         catch(InstantiationException e){  
  15.             e.printStackTrace();  
  16.         }  
  17.         catch(IllegalAccessException e){  
  18.             e.printStackTrace();  
  19.         }  
  20.         catch(ClassNotFoundException e){  
  21.             e.printStackTrace();  
  22.         }         
  23.     }  
  24. }   

Minha dúvida é a seguinte, tem como fazer algo parecido assim :

   1. public class TesteReflexao {  
   2.      
   3.     private static String minhaClasse = "Aluno";  
   4.   
   5.     public TesteReflexao() {  
   6.     }  
   7.      
   8.     public static void main(String[] args){  
   9.         try{  
  10.             Class c = Class.forName(minhaClasse);  
  11.             System.out.println(c.getName());  
  12.              
  13.             minhaClasse a = (minhaClasse) c.newInstance();  
  14.              
  15.         }  
  16.         catch(InstantiationException e){  
  17.             e.printStackTrace();  
  18.         }  
  19.         catch(IllegalAccessException e){  
  20.             e.printStackTrace();  
  21.         }  
  22.         catch(ClassNotFoundException e){  
  23.             e.printStackTrace();  
  24.         }         
  25.     }  
  26. }   

se vc tem uma classe chamada minhaClasse (nome errado!) pode sim!!..
é essa a duvida?

Tem como fazer isso sim eduardo, só que é um pouco mais complicado do que você tá fazendo hehehe…

Isso chama-se reflexão, e o que você quer é instanciar objetos em tempo de execução. Procure por esses termos, mas aqui vai alguns links que achei no google:

http://www.guj.com.br/java.tutorial.artigo.10.1.guj

http://java.sun.com/docs/books/tutorial/reflect/index.html

http://java.sun.com/developer/technicalArticles/ALT/Reflection/

Desculpe, agora li seu código mais atentamente.

Tá certo sim, mas você tem que passar os argumentos para o método construtor, como mostra o tópico “Creating new Objects” do último link que te mandei…

erickcellani minhaClasse e o nome da minha String , e o nome da classe é o valor desse String.

_Renatu vou dar uma olhada nesses links que vc me passou e qualquer duvida coloco aki.

Obrigado pela ajuda pessoal …

[quote=eduardo.carvalho] erickcellani minhaClasse e o nome da minha String , e o nome da classe é o valor desse String.

_Renatu vou dar uma olhada nesses links que vc me passou e qualquer duvida coloco aki.

Obrigado pela ajuda pessoal …[/quote]

me explica oq vc kis fazer aki intaum:

minhaClasse a = (minhaClasse) c.newInstance();

To kerendo criar um objeto da Classe Aluno em tempo de execucao , mas naum to conseguindo