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

Referência das variáveis iguais a aula

Fiz o projeto da Aula 02 e ao exibir as referências das variáveis primeiraConta e segundaConta, notei que são os mesmo valores, endereços, que são exibidos na aula.

public class CriaConta {
    public static void main(String[] args) {
        Conta primeiraConta = new Conta();        
        Conta segundaConta = new Conta();

        System.out.println(primeiraConta);
        System.out.println(segundaConta);
    }
}

primeiraConta : Conta@15db9742segundaConta :Conta@6d06d69c

Eu não entendi o porquê que as minhas referências são iguais a da aula. Essas referências são predefinidas pelo Java? São criadas de acordo com a Classe que definimos como objeto?

6 respostas
solução!

Boa noite, Leonardo! Como vai?

A saída foi a mesma pois esse valor ao qual vc se refere não é um endereço! Dê uma olhada nesse link onde é explicado melhor a forma como essa saída é gerada!

Qualquer coisa é só falar!

Grande abraço e bons estudos, meu aluno!

Depois do @ vem o código hash do objeto, resultado da chamada de:

// Code of Object.toString()
public String toString() {
    return getClass().getName() + "@" + Integer.toHexString(hashCode());
}

Boa noite Gabriel, tudo bem aprendendo hahaha

Com o link exibido entendi a composição da referência, porém não entendi o porquê é a mesma. Criei outra classe no projeto, em diretórios diferentes , outro projeto em outro diretório, e notei que a primeira variável que contém alguma referência de objeto tem o mesmo hashcode - 15db9742. A minha dúvida está, agora, no direcionamento inicial, se esse valor é definido pela JVM ou pelo bytecode gerado

Opa, Leonardo!

A minha dúvida está, agora, no direcionamento inicial, se esse valor é definido pela JVM ou pelo bytecode gerado

Esse valor é definido por padrão pelo método hashCode() implementado na classe Object. Contudo, vc pode mudar esse comportamento sobrescrevendo esse método.

Pegou a ideia? Qualquer coisa é só falar!

Grande abraço e bons estudos, meu aluno!

Entendi, peguei a ideia

Após uns testes em máquinas diferentes notei a padronização, obrigado Gabriel pela explicação, "agora as peças se encaixaram".

Obrigado

Por nada, Leonardo! Sempre que precisar de alguma ajuda é só mandar aqui no fórum da Alura que alguém irá aparecer pra te levar pra luz do conhecimento!

Grande abraço e bons estudos, meu aluno!

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