Назад к вопросам
JuniorТеорияЧасто
Что выведет программа?
public class Main {
public static void main(String[] args) {
Box a = new Box(5);
Box b = new Box(5);
Box c = a;
System.out.println(a.equals(b) + " " + a.equals(c));
}
}
class Box { int n; Box(int n) { this.n = n; } }false true
- Ждать
true true: без переопределенияequalsберётся изObjectи сравнивает ссылки, поэтому две коробки с одинаковымnне равны. - Ждать ошибку компиляции: каждый класс получает
equalsотObject, поэтому его можно вызвать уBox, не написав.
- Как сделать равными два объекта
Boxс одинаковымn? - Какой метод переопределяют вместе с
equals?