1
resposta

Dúvidas Sobre Denominações apresentadas em aula

Boa noite! Analisando a aula referente a esse tópico surgiu uma dúvida:

O instrutor fala que : "precisamos de uma instancia de class do tipo controle para conseguir retorna o método da classe controle com método."

Quanto pensamos em "instanciar" eu entendo que eu vou ter um objeto guardado em um espaço de memória , logo, compreendo que só "instanciamos" um objeto do tipo controle quando a partir do construtor padrão chamamos o método "new instance". Para exemplificar melhor nossa dúvida, vou colocar o meu ponto de vista e entendimento de cada linha do método main .

Class<?> controleClasse = Class.forName("br.com.alura.alurator.playground.controle.Controle");

Aqui eu retorno um objeto (NÃO instanciado) Class do tipo controle (como se fosse uma carta curinga) Constructor<?> construtorPadrao = controleClasse.getDeclaredConstructor(); Aqui no constructor , eu pego o meu objeto .class criado e consigo retornar o construtor dele

Object controle=construtorPadrao.newInstance();

>>aqui Sim! eu coloco esse objeto, essa classe, em espaço de memoria 

Method m = controleClasse.getMethod("metodoControle2",String.class);

>>aqui eu não utilizo uma instancia, mas sim um objeto do tipo class para fazer referencia aos metodos do tipo do mesmo
Object retorno = m.invoke(controle,"Pintassilgo do Agreste");
>>aqui eu "instancio o methodo"
System.out.println(retorno);

Só gostaria de entender, essa diferenca entre o class e o objeto instanciado que pela forma que foi falado não ficou muito claro
1 resposta
O post foi fechado por inatividade. Para continuar o assunto, recomendamos criar um novo tópico. Bons Estudos!