Класс Object имеет метод toString() , который наследует каждый создаваемый вами класс. Он возвращает представление вашего объекта в виде String и очень полезен для отладки. Чтобы увидеть действие метода toString() , реализованное по умолчанию, выполните следующий эксперимент в методе main() :
public static void main(String[] args) {
Adult myAdult = new Adult();
myAdult.addMoney(1);
myAdult.addmoney(5);
System.out.println(myAdult);
} Результат, отображаемый в консоли, выглядит следующим образом:
intro.core.Adult@b108475c
Метод println() вызывает метод toString() объекта, переданного ему. Поскольку мы пока не перегрузили toString() , то получаем вывод информации по умолчанию, которой является ID объекта. Каждый объект имеет ID, но он не много скажет вам о самом объекте. Было бы лучше, если бы мы перегрузили toString() для выдачи красиво отформатированного содержимого нашего объекта Adult :
public String toString() {
StringBuffer buffer = new StringBuffer();
buffer.append("And Adult with: " + "\n");
buffer.append("Age: " + age + "\n");
buffer.append("Name: " + getName() + "\n");
buffer.append("Race: " + getRace() + "\n");
buffer.append("Gender: " + getGender() + "\n");
buffer.append("Progress: " + getProgress() + "\n");
buffer.append("Wallet: " + getWallet());
return buffer.toString();
} Мы создаем StringBuffer для создания представления нашего объекта в виде String , затем возвращаем объект String . После выполнения этого примера на консоли должна отобразиться следующая красиво отформатированная информация:
An Adult with: Age: 25 Name: firstname lastname Race: inuit Gender: male Progress: 0 Wallet: [1, 5]
Это значительно удобнее и полезнее, чем загадочный ID объекта.

