Java - duda con método toString

   
Vista:

duda con método toString

Publicado por omar (57 intervenciones) el 10/08/2015 04:37:57
Hola a todos tengo una duda con el siguiente codigo. Ojala me puedan ayudar a comprender.


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
package Dudas;
import java.util.*;
class WaterSource{
private String s;
WaterSource(){
System.out.println("WaterSource()");
s="Constructed";
}
public String toString(){
System.out.println("entre aqui 1");
return s;
}
}
public class Duda1 {
private String valve1,valve2;
private WaterSource source =new WaterSource();
private int i;
private float f;
public String toString(){
System.out.println("entre aqui 2");
return
"valve1= " + valve1 + " " +
"valve2= " + valve2 + " " +
"i= " + i + " " +
"f= " + f + " " +
"source= " + source;
}
public static void main(String[] args){
Duda1 duda1= new Duda1();
System.out.println(duda1);
}
}
 
la salida es la siguiente:
WaterSource()
entre aqui 2
entre aqui 1
valve1= null valve2= null i= 0 f= 0.0 source= Constructed

Mi duda es en que momento el metodo toString() de la clase WaterSource le asigna el valor de "s" a la referencia "source" para que dicha referencia cambie a un objeto de tipo String(Ya que originalmente "source" apuntaba a un objeto de tipo WaterSource) y luego imprimirlo en pantalla
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

duda con método toString

Publicado por Tom (910 intervenciones) el 10/08/2015 10:40:58
¿ No has visto ningún tutorial de java ?
El método toString() se invoca de forma automática cuando es necesario un String.
Está en la especificación del lenguaje, al usar el operador de concatenación "+" si algún operando es un String, se crean automáticamente strings para los demás que no lo son.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar

duda con método toString

Publicado por omar (57 intervenciones) el 11/08/2015 05:05:49
Muchas gracias por tu aclaración. ;)
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar