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?
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?
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.