Foros aprenderaprogramar.com

Aprender a programar => C, C++, C#, Java, Visual Basic, HTML, PHP, CSS, Javascript, Ajax, Joomla, MySql y más => Mensaje iniciado por: emeery en 20 de Noviembre 2016, 08:52

Título: Metodo toString() en Java invocación explícita y no explícita, diferencias
Publicado por: emeery en 20 de Noviembre 2016, 08:52
De donde invoca el metodo toString ?


Código: [Seleccionar]
public class Semaforo {


public enum ColorSemaforo {
Verde, Ambar, Rojo;
}

private ColorSemaforo color;

public Semaforo(){
}
public ColorSemaforo getColor() {
return color;
}
public void setColor(ColorSemaforo color) {
this.color = color;
}
public String toString(){
String s="Semaforo:" +color;
return s;
}

public void cambiarColor(){
if(color==ColorSemaforo.Verde){
color=ColorSemaforo.Ambar;
}
else{
if(color==ColorSemaforo.Ambar){
color=ColorSemaforo.Rojo;
}
else{
color=ColorSemaforo.Verde;
}
}
}

public static void main(String[]args) throws InterruptedException {
Semaforo misemaforo=new Semaforo();
misemaforo.setColor(ColorSemaforo.Verde);
int c=0;
while(c<=100){
System.out.println(misemaforo.toString());
misemaforo.cambiarColor();
Thread.sleep(2000);
c++;
}
}
}
Título: Re:Metodo toString() en Java invocación explícita y no explícita, diferencias
Publicado por: Ogramar en 27 de Noviembre 2016, 21:17
Buenas emeery

Para escribir en los foros es importante seguir las indicaciones que se dan en https://www.aprenderaprogramar.com/foros/index.php?topic=1460.0

Tanto para poner título a los temas, como para pegar código, etc.

En este curso tienes explicado el método toString: https://www.aprenderaprogramar.com/index.php?option=com_content&view=category&id=68&Itemid=188

En el curso se explica cómo en ocasiones el compilador invoca toString de forma automática, sin necesidad de que haya una llamada explícita al método.

En el código tienes invocado toString en la línea:

System.out.println(misemaforo.toString());

La invocación no explícita sería: System.out.println(misemaforo);

Salu2