Duvida?

1 resposta
dicabeca

pessoal estou com uma duvida, sempre fiz isso qnd vou fzr a conexao com um banco de dados mas meio q gravei como forma de bolo(Class.forName(String))!!!,queria saber o q isso significa(esse codigo)!!!

Interface i = (MinhaInterface)Class
					.forName(minhaString)
					.getClassLoader()
					.loadClass(minhaString).getConstructors()[0]
					.newInstance(new Object[]{(OutraInterface)i2});

1 Resposta

pablofaria

Você está instanciando uma classe via reflection!

Quando executa o comando Class.forName(minhaString), está recuperando uma referência a Class do tipo da classe passada

pega o primeiro construtor da sua class (provavelmente o padrão, sem argumentos)
.getClassLoader().loadClass(minhaString).getConstructors()[0]

cria a instância
.newInstance(new Object[]{(OutraInterface)i2});

Criado 9 de abril de 2008
Ultima resposta 9 de abr. de 2008
Respostas 1
Participantes 2