3
respostas

Segunda Conta

quando voce coloca a segundaconta referenciando a primeira, voce pode por aquele numero da segunda como o "id" conseguir puxar oque tem dentro da segunda ou a segunda conta fica sem possibilidade de acesso?

3 respostas

Oi Daniel tudo bem?

Por id você quer dizer número da conta?

Nesse caso o número da conta é só um número qualquer, se você criar uma segunda conta com o mesmo número não vai conseguir puxar nada da outra conta pois elas não estão conectadas só por ter o mesmo número.

Espero ter ajudado!!!

quando voce coloca a segundaconta referenciando a primeira ela mostrará os dados da primeira como o paulo mostrou, mais cada conta bancaria tem um numero que o java cria por exemplo primeiraconta 67tb645b a segunda tambem tem a numeração que o java cria, minha duvida é quando nos referenciamos a segunda a qualquer outra conta podemos de algum metodo por esses numeros que não mudam acessar a segunda mesmo referenciada a outro lugar?.

Daniel, tudo bem?

A criação de um objeto ocorre apenas quando usamos a palavra reservada new.

Portanto,

new Conta(); // cria um objeto conta
new Conta(); // cria outro objeto conta

Conta conta; // cria uma referência a um objeto Conta, mas não atribui nenhum objeto conta à essa referência
Conta primeiraConta = new Conta; // cria um objeto conta e guarda sua referência na variável conta
Conta segundaConta = primeiraConta; // copia o valor "primeiraConta" para "segundaConta ", ou seja, as duas variáveis vão alterar o mesmo objeto

Quando atribuímos a "primeiraConta" para a "segundaConta" nesse código: Conta segundaConta = primeiraConta; O que de fato está ocorrendo é que estamos copiando a referência do objeto Conta que está guardado na variável "primeiraConta" e estamos guardando esse mesmo valor na variável "segundaConta".

Qualquer mudança na variável primeiraConta ou segundaConta vão refletir no mesmo objeto.

Esse valor "67tb645b" que o Java gera é na verdade a representação/identificador do objeto que está sendo referenciado por uma variável.

Agora, respondendo sua dúvida... Em Java não dá para pegar esse valor "67tb645b" e atribuir a uma variável diretamente (assim como fazemos com ponteiros na linguagem C).

Abraço!

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software