Java, Клас Object

Хоча ми можемо створити звичайний клас, який не є спадкоємцем, але фактично всі класи успадковують від класу Object Object. Всі інші класи, навіть ті, які ми додаємо до свого проекту, є неявно похідними від класу Object. Тому всі типи та класи можуть реалізувати ті методи, які визначені у класі Object. Розглянемо ці способи.

Метод toString служить для отримання подання даного об'єкта у вигляді рядка. При спробі вивести рядкове уявлення якогось об'єкта, як правило, буде виводитися повне ім'я класу. Наприклад:

Отримане мною значення (у разі Person@7960847b ) навряд чи може бути хорошим рядковим описом об'єкта. Тому метод toString() нерідко перевизначають. Наприклад:

Метод hashCode

Метод hashCode дозволяє вказати певне числове значення, яке буде відповідати даному об'єкту або його хеш-код. За цим числом, наприклад, можна порівнювати об'єкти.

Наприклад, виведемо уявлення вищевизначеного об'єкта:

Але ми можемо задати свій алгоритм визначення хеш-коду об'єкта:

Отримання типу об'єкта та метод getClass

Метод getClass дозволяє отримати тип даного об'єкта:

Метод equals

Метод equals порівнює два об'єкти на рівність:

Метод equals приймає як параметр об'єкт будь-якого типу, який ми потім наводимо до поточного, якщо вони є об'єктами одного класу.

Оператор instanceof дозволяє з'ясувати, чи передається як параметр об'єкт об'єктом певного класу, у разі класу Person. Оскільки об'єкти належать до різних класів, їх порівняння немає сенсу, і повертається значення false.

Потім порівнюємо за іменами. Якщо вони збігаються, повертаємо true,що говоритиме, що об'єкти рівні.