Función toString para clases en Java

Hola a todos, hoy os explicare que es y para que sirve el método toString, nos sera útil para nuetras clases en Java.

El método toString nos permite mostrar la información completa de un objeto, es decir, el valor de sus atributos.

Este método también se hereda de java.lang.Object, por lo que deberemos sobrescribir este método. Esta es su definición:

public String toString (){
		String mensaje="El empleado se llama "+nombre+" "+apellido+" con "+edad+" años " +
				"y un salario de "+salario;
		return mensaje;
	}

El mensaje puede ser como nosotros queramos.

Veamos un ejemplo practico:

public class EmpleadoApp {

	public static void main(String[] args) {

		//Creamos dos objetos distintos
		Empleado empleado1=new Empleado("Fernando", "Ureña", 23, 600);
		Empleado empleado2=new Empleado("Antonio", "Lopez", 28, 900);
		Empleado empleado3=new Empleado("Alvaro", "Perez", 19, 800);

		//Mostramos la informacion del objeto
		System.out.println(empleado1.toString());
		System.out.println(empleado2.toString());
		System.out.println(empleado3.toString());
	}

}

Este es el resultado:

toString

Algo a tener en cuenta, es que si tenemos un método toString definido, al mostrar el objeto sin mas (sin invocar nada), ejecutara por defecto este método, de forma que si modificamos el anterior ejemplo, obtendrá el mismo resultado.

public class EmpleadoApp {</pre>
public static void main(String[] args) {

//Creamos dos objetos distintos
 Empleado empleado1=new Empleado("Fernando", "Ureña", 23, 600);
 Empleado empleado2=new Empleado("Antonio", "Lopez", 28, 900);
 Empleado empleado3=new Empleado("Alvaro", "Perez", 19, 800);

//Mostramos la informacion del objeto
 System.out.println(empleado1);
 System.out.println(empleado2);
 System.out.println(empleado3);
 }

}

Espero que os sea de ayuda. Si tenéis dudas, preguntad. Estamos para ayudarte.

¿Te ha gustado y quieres apoyarme? ¡Sé mi patrón!
Etiquetas

6 comments

  1. Excelente explicación, en el último ejemplo, me parece tienes un pequeño error de edición luego de la declaración de la clase, saludos.

  2. Me gustaría saber que diferencia hay en usar el método toString() heredada de la clase Object y cuando uno define los geters y seters para poder acceder a los valores de las propiedades instanciadas de una clase?

  3. Pues claro está que sobre escribe los métodos(ya sea getters o setters), pero si no genero dichos métodos, el método toString() toma a los objetos como cadena, la pregunta es: ¿Es una buena práctica no generar getters y setters, y solo trabajar con el método toString?, agradezco de antemano; saludos.

  4. Por que el metodo toString se ejecuta por defecto???

  5. Porque es un metodo de la clase Object, todas las clases vienen de la clase padre Object

    mira un ejemplo

    class Hola extends Object{

    }

  6. Muchas gracias por la explicación.

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *