2
respostas

Diferença entre a referência e objeto

Usando o código da aula ( que no caso é esse):

package bytebank;

public class TesteReferencia {

    public static void main(String[] args) {
        Conta primeiraConta = new Conta();
        primeiraConta.saldo = 300;

        System.out.printf("saldo da primeira conta é: R$%.1f \n", primeiraConta.saldo);

        Conta segundaConta = primeiraConta;
        System.out.println(segundaConta.saldo);

        segundaConta.saldo += 100;
        System.out.println(segundaConta.saldo);

        System.out.println(primeiraConta.saldo);

    }
}

A referência seria apenas o segundaConta e o objeto seria o segundaConta.saldo?

2 respostas

Tanto primeiraConta quanto segundaConta são referências para o objeto Conta.

Fala Guilherme, quando você escreveu a linha Conta primeiraConta = new Conta();, você criou um novo objeto "primeiraConta" do tipo Conta ao instancia-lo.

Ao criar Conta segundaConta = primeiraConta;, você simplesmente está criando uma variável segundaConta que aponta para o mesmo objeto, ou seja, tem a mesma referência para o objeto criado em Conta primeiraConta = new Conta();.

O conceito de referência é basicamente como você acessa aquele objeto na memória, ao instânciar um objeto é criada uma referência para ele, para que seja possível acessá-lo.

Espero ter ajudado. 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