Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

Variáveis que representam objetos

Qual a diferença entre criar uma variável representando um objeto dando "new", e, qual a diferença em criar sem dar "new"? EX 1: Conta conta = new Conta(); EX 2: Conta conta; O que muda muda nesses dois casos?

2 respostas
solução!

Olá Bonerges

Quando você faz Conta conta você está simplesmente declarando esse objeto, ele ainda não foi criado.

Quando você faz Conta conta = new Conta() você está declarando o objeto e criando ele logo em seguida.

Ou seja, quando você declara e cria ele já está pronto para o uso, no outro caso não, você ainda teria que chamar o construtor dele.

Bonerges Eder, apenas complementando o que o Joel falou:

Quando você faz:

Conta conta;

Você apenas alocou uma posição na memória da JVM (heap) para um objeto do tipo Conta.

Já quando você faz:

Conta conta = new Conta();

Você alocou uma posição na memória da JVM e, em seguida, criou o objeto do tipo conta e o alocou nessa posição de memória referenciada pelo atributo chamado conta.

Espero ter ajudado.

Abraço.