Boa noite a todos,
este é meu primeiro post não somente neste forum como também de todos que participei, caso não for aqui que poste ou o titulo esteja incorreto ou alguma outro coisa, agradecerei por instruções.
Bem, eu estou estudando java através de uma apostila, e em determinado momento, ele pede para fazer alguns exercicios onde preciso mostrar na tela um atributo de uma variavel, porém eu esqueci de colocar qual atributo deveria chamar e apenas coloquei a referencia System.out.print(c1); , apareceu como se fosse um codígo, EA31293, este código seria algo como o caminho dele para a memoria na JVM ?. Eu não tenho internet, estou passando por uns apertos mas assim que conseguir posto um print da execução do código, obrigado a todos 
1 curtida
Todo e qualquer objeto é identificado por um código que o identifica (univocamente) no projeto, isto é, é seu ID. Quando tu chama, ou melhor, passa um objeto para uma saída, como por exemplo o método println
sem ‘invocar’ nenhum de seus atributos, o que é mostrado é esse ID e assume a seguinte formatação:
NomeDaClasse + @ + CodeObjectHexadecimal
Exemplo:
public class Teste {
private long idTeste;
private String nomeTeste;
public Teste(long id, String nome){
setIdTeste(id);
setNomeTeste(nome);
}
/*
* Métodos acessores e modificadores
*/
public void setIdTeste(long idTeste){
this.idTeste = idTeste;
}
public long getIdTeste(){
return idTeste;
}
public void setNomeTeste(String nomeTeste){
this.nomeTeste = nomeTeste;
}
public String getNomeTeste(){
return nomeTeste;
}
public static void main(String[] args){
Teste t1 = new Teste(15L, "Teste01");
Teste t2 = new Teste(1050L, "Teste89");
System.out.println("O ID do objeto T1 (definido pela JVM): " + t1);
System.out.println("O ID do objeto T1 (definido pelo usuário): " + t1.getIdTeste());
System.out.println("Nome do Teste T1 (definido pelo usuário): " + t1.getNomeTeste());
System.out.println("\n\n");
System.out.println("O ID do objeto T2 (definido pela JVM): " + t2);
System.out.println("O ID do objeto T2 (definido pelo usuário): " + t2.getIdTeste());
System.out.println("Nome do Teste T2 (definido pelo usuário): " + t2.getNomeTeste());
}
}
Rodando…

Fonte: Docs Oracle - java.lang.Object.
1 curtida
Essa é a implementação padrão do toString()
, ela retorna:
<nome do pacote seguido do nome da classe> @ <System.identityHashcode em hexadecimal>
Você deve sobrescrever o método toString() que qualquer classe herda da classe Object.
@override
public String toString() {
return ...;
}
PS: Também estou aprendendo Java ou reaprendendo depois de trabalhar algum tempo em Visual Basic e tentar trabalhar com C#.
Muito obrigado Staroski por tirar esta duvida
, mais a frente do ponto onde estou na apostila da Caelun FJ-11, falara sobre toString e uma classe parecida que serve para não precisar fazer aquele bolo de System.out.print();
Sei que faltou informações para que pudessem me ajudar, mas mesmo assim agradeço 
System.out.println("O ID do objeto T1 (definido pela JVM): " + t1);
System.out.println("O ID do objeto T1 (definido pelo usuário): " + t1.getIdTeste()); System.out.println("Nome do Teste T1 (definido pelo usuário): " + t1.getNomeTeste());
Aquele numero que eu havia mencionado era o ID i o numero é definido pela JVM.
Muito obrigado cara, me ajudou e muito.