Olá…
Outro dia estava fazendo um exercicios de arrays e me deparei com o seguinte códio
new Desafio().imprime(5);
Desafio é uma classe e imprime é um método desta classe. O que faz não é tão importante pois a minha dúvida esta no fato de ter feito o exercicio assim:
Desafio de = new Desafio();
de.imprime(5);
como nunca tinha vista a forma anterior eu fiquei com dúvidas em relação a ser normal fazer isto, porque fazer isto …não seria melhor criar uma variável e passar para ela a referencia do objeto da classe desafio…eu posso dizer que desta forma eu tenho um objeto da classe desafio e desta forma como eu acesso se não tenho a referencia a ele.
Entao quando vc faz new Desafio() vc esta criando um objeto Desafio mas nao esta atribuindo á nenhuma variavel de referencia, ou seja vc vai usar esse objeto neste momento e ele nao tera referencia nenhuma para ser reutilizado posteriormente…
Mas qual seria a utilidade disto, eu teria que ter a absoluta certeza que não precisaria do objeto para mais nada, uma vez que não tenho referencias a ele, como o Gabbage Colec…trata ele?
Exatamente ao instanciar o objeto sem atribui-lo á uma variavel de referencia vc utilizara ele no exato momento, e após o uso o GC verificando a falta de referencia á esse objeto o mesmo sera um candidato para ser limpado da heap.