Pessoas, uma pequena dúvida aqui.
se eu usar o ‘new’ mais de uma vez, como no exemplo abaixo, eu estou criando vários objetos ou sobrescrevendo um mesmo objeto? A referência de ‘v9’ sempre vai ser ao ultimo objeto criado?
Veiculo v9;
for (int i=0; i<args.length;i++){
out.println(" "+args[i]);
[b]v9 = new Veiculo(args[i], 81);[/b]
allPrint(v9);
}
vlw.
[quote=suarphi]Pessoas, uma pequena dúvida aqui.
se eu usar o ‘new’ mais de uma vez, como no exemplo abaixo, eu estou criando vários objetos ou sobrescrevendo um mesmo objeto? A referência de ‘v9’ sempre vai ser ao ultimo objeto criado?
Veiculo v9;
for (int i=0; i<args.length;i++){
out.println(" "+args[i]);
[b]v9 = new Veiculo(args[i], 81);[/b]
allPrint(v9);
}
vlw.[/quote]
Primeira coisa que você deve entender, v9 não é o nome do objeto.
v9 é o nome que você deu a uma variavel de referencia que pode vir a apontar a um objeto do tipo veiculo. Você usa uma variavel de referenciar para se referenciar (serio mesmo?) a um objeto.
Respondendo a sua pergunta, sim você pode e passará a apontar a um novo objeto. O objeto anterior será limpado da memoria em algum momento pelo GC (isso só ocorrera se nenhuma variavel fizer referencia ao objeto, como é o caso).
Exatamente. Como você tem apenas uma referência, sempre que der ‘new’, irá sobrescrever o objeto atual, no final, irá ter apenas o último objeto criado.
Você estará criando novos objetos e apontando a referência V9 para ele. Ao final do laço de repetição V9 apontará para o último objeto criado.
Valeu galera.
Dúvida sanada.