Разработчики Java решили, что они хотят сделать печать любого объекта красивой и простой, используя такие операторы, как
System.out.println(something);
System.out.print(something);
someOtherPrintWriter.println(something);
программисту не нужно слишком беспокоиться о том, что на самом деле представляет собой something
, поэтому они сделали множество версий этих методов. Но они не могли предвидеть каждый возможный класс, объект которого кто-то может захотеть напечатать.
Но поскольку каждый класс прямо или косвенно расширяет Object
, все, что им нужно было сделать, это сделать любой экземпляр Object
пригодным для печати, что в основном означало предоставление способа преобразования любого Object
в String
.
Они сделали это, включив метод toString
в класс Object
и заставив print
и println
использовать его. Затем, если кто-то напишет класс и ему нужно, чтобы объекты печатались определенным образом, все, что ему нужно сделать, это переопределить toString
, и тогда print
и println
будут делать то, что ожидает программист.
person
Dawood ibn Kareem
schedule
28.02.2014
ublic
илиSyatem
. - person user2357112 supports Monica   schedule 28.02.2014