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?