public class example
{
private String one;
private String two;
public example(String one, String two)
{
this.one = one;
this.two = two;
}
public static void main(String[] args)
{
System.out.println(returning());
}
public static example returning()
{
return new example("yes", "no");
}
public String toString()
{
return one + " SPACESPACESPACE " + two;
}
}
run:
yes SPACESPACESPACE no
BUILD SUCCESSFUL (total time: 3 seconds)
Stavo cercando di capire come funzionano i costruttori, e ho scritto un codice che aveva un metodo toString . Ho chiamato System.out.print sulla funzione returning() e ha stampato "yes SPACESPACESPACE no", che si trova solo nel metodo toString . Tuttavia, non ho mai avuto un oggetto per il metodo toString su cui agire (vale a dire objectCreatedFromClass.toString() ), quindi non ho mai utilizzato il metodo toString .
Qualcuno può spiegarmi perché è successo? Perché mi è stato concesso di restituire un nuovo oggetto, ovvero return new example("yes", "no") quando la mia classe
è un metodo statico?