Quando vc chama System.out.println(ref) ou concatena uma string com um
objeto "abc" + ref onde ref é uma referência pra um objeto e em outras
situações onde é exigida uma representação do objeto, é chamado o método
toString() automaticamente.

A existência deste método é garantida por estar em Object. Tudo o que vc
precisa fazer para modificar o retorno padrão é fazer um override
(sobrescrever o método), escrevendo outro com exatamente a mesma assinatura
e um tipo de retorno igual (ou uma subclasse deste tipo).

Só a título de curiosidade: O valor de retorno padrão de object é o "nome da
classe na posição de memória X": cl...@23fa3c

A posição de memória está em hexadecimal e o valor inteiro correspondente
pode ser obtido através do método hashcode() também presente em Object.

Não sei se o prof. já explicou a finalidade deste método para vocês mas se
ainda não o fez, estas são apenas cenas dos próximos capítulos. :-P

Abraço

Peter P. Lupo
http://craftnicely.blogspot.com - http://sites.google.com/site/pplupo
MPS.BR Authorized Implementation Practitioner - Certified ScrumMaster
Sun Certified Java Associate - Java Brown Belt
+55 (021) 81742487


2010/4/8 erick najjar <[email protected]>

> Kate,
>
> O construtor de uma classe tem sempre q ter o nome da classe, então, todos
> são obrigados a ter o mesmo nome.
>
> Não podem haver dois construtoresa(nem nenhum método, construtor ou não)
> com a mesma assinatura.  A assinatura de um método são os tipos, a ordem  e
> a quantidade de seus parametros.
>
> um metodo que receba um int e um double, e um metodo, com o mesmo nome, que
> receba um int e uma string tem assinaturas diferentes.
>
> void metodo(int a, double b){
>
> }//uma assinatura
>
> void metodo(int a, string b){
>
> }//outra assinatura
>
> Eu ainda posso ter um terceiro metodo, que tambem recebe um int e um double
> mas em ordens trocadas, e teria uma terceira assinatura.
>
> void metodo(double a, int b){
>
> }//terceira assinatura
>
> Se eu tiver um quarto metodo, recebendo 3 parametros, tudo bem q os dois
> primeiros sejam iguais, pois le tem um numero diferente de parametros. (só
> tomar cuidado com parametros com valor default)
>
> void metodo(int a, double b, int c){
>
> }//outra assinatura
>
>
> Sobre a pergunta do exercício, acho q o professor quer q imprima a pessoa
> usando o metodo toString dela.
>
>  --
> You received this message because you are subscribed to the Google Groups
> "Comp 2 - Geral" group.
> To post to this group, send email to [email protected].
> To unsubscribe from this group, send email to
> [email protected]<comp2-geral%[email protected]>
> .
> For more options, visit this group at
> http://groups.google.com/group/comp2-geral?hl=en.
>

-- 
You received this message because you are subscribed to the Google Groups "Comp 
2 - Geral" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/comp2-geral?hl=en.

Responder a