Klasa Object ma zaimplementowaną metodę toString(). We własnej klasie metodę tą można nadpisać.
Nie rozumiem na jakiej zasadzie działa to, że nie trzeba jej wywoływać jawnie, na przykład w pniższym kodzie
public class Main{
public static void main(String[] args) {
Osoba os = new Osoba();
System.out.println(os);
}
}
class Osoba{
public String toString(){
return "Np. nazwa klasy";
}
}
Wynik działanie tego programu to:
Np. nazwa klasy
Jak to się dzieje, że po podstawieniu do metody println() referencji wywoływana jest metoda toString()?