Object. Метод toString и его переопределение
Last updated: 5 мая 2025 г.Все классы в Java наследуют от некого класса Object
.
В этом классе определены некоторые важные методы, которые необходимо знать и самое главное уметь переопределять их.
Все классы как уже было сказано наследуют от Object
, а значит они наследуют и все методы, которые определены в нем, а значит наследники могут ими пользоваться и переопределять их.
Рассмотрим самые важные.
Первым рассмотрим toString.
По умолчанию метод toString возвращает хеш-код объекта. Хеш-код мы затронем позже.
Но информация о хеш-коде объекта не особо полезна, поэтому принято переопределять метод toString так чтобы toString возвращал всю полезную информацию об объекте (содержимое его полей).
Пример программы:
1class MyClass {
2 int myA;
3 Integer myB;
4
5 MyClass(int myA, int myB) {
6 this.myA = myA;
7 this.myB = myB;
8 }
9
10 // toString – предоставление информации об объекте.
11 // Как видим ниже, он возвращает строку
12 // со значениями полей объекта,
13 // то есть это вся необходимая информация о нем.
14 // Переопределять этот метод желательно именно
15 // в формате вот такой строки.
16 // Причем программисту даже не нужно будет писать
17 // имя метода toString для его вызова –
18 // этот метод будет вызываться автоматически, если
19 // попытаться передать объект в println,
20 // вот так: System.out.println(someobject);
21 // где someobject – объект класса MyClass.
22 // Смотри пример ниже в main.
23 @Override
24 public String toString() {
25 return "MyClass{" + "myA=" + myA + ", myB=" + myB + ‘}’;
26 }
27}
28
29public class ToStringLesson {
30 public static void main(String[] args)
31 throws CloneNotSupportedException {
32 MyClass someobject = new MyClass(10, 20);
33
34 // Как можно увидеть, в консоли вывело ту самую
35 // строку с полями объекта someobject.
36 // При этом, как уже говорилось, нам не пришлось
37 // вызывать метод toString вот так someobject.toString();
38 System.out.println(someobject);
39 }
40}
Вывод:

Следующие уроки
Метод Clone и его переопределение
14
мин.
Метод Equals и его переопределение
14
мин.
Метод hashCode и его переопределение
16
мин.