Quando passo um determinado objeto como argumento e dentro do metodo igualo um objeto 2 com esse objeto 1, ele pega a mesma referencia do objeto etc.
Como eu poderia fazer, ao cancelar NULL o objeto 2, no objeto 1 também ficar como NULL?
No uso de ponteiro, seria como os dois objetos ter o mesmo endereco na memoria, entao dando um dispose ou NULLL em um o outro tambem ficaria nulo.
No java esse exemplo não funciona? Será que é devido criar uma variavel local, mas com a mesma referencia? Por ser uma variavel local, ao dar NULL somente ela ficaria null.
Eis a questão, como dar null num objeto 2 dentro de um metodo e no obj 1 tambem ficar null, sendo ambos iguais em referencia.
Objetos podem ter várias referencias, e todas as referencias podem alterar o valor do objeto… e esta alteracao se refletirá para todas as referencias em questao (exceto para objetos String!!!).
Mas uma variavel de referencia nao pode alterar o valor das outras variaveis de referencia, ou seja, pode-se alterar o objeto mas as variaveis de referencia dentro deste contexto nao.
e nesses casos, como manter o argumento IND atualizado:
public void caminhamentoCentral(No arv, int ind, int [] vet) {
if(arv!=null) {
caminhamentoCentral(arv.esq,ind,vet);
vet[ind]=arv.item;
ind++;
caminhamentoCentral(arv.dir,ind,vet);
}
}
já que a cada chamada ind é passado com um valor.
No pascal que eu me lembre bastaria por no argumento do metodo var ind, que ele ficaria atualizado sempre (usando uma variavel externa).
No java á essa possibilidade? Ou é impossível fazer esse caminhamento da forma correta, tendo o valor de ID atualizado para somente uma referencia ao inves de cada chamada ser criado uma nova referencia de id.