Объясните, пожалуйста, суть работы метода compareTo() на примере, описанном на странице https://javarush.com/groups/posts/1885-metod-compareto. Я понимаю, что в методе main создается объект, допустим, User user = new User("Андрей", 19, "andryha@mail.ru"); Понимаю, что User заимствует интерфейс Comparable с переопределенным методом compareTo(). А что дальше происходит, я не могу понять, потому что метод объектом нигде не вызывается. Далее, в примере кода в разделе статьи "Реализуем сравнение в своем классе" имеется строка 18: int result = this.name.compareTo(o.name); В метод compareTo передаются данные (o.name или ""Андрей""). А что это за вызывающий объект this их сравнивает? Что присвоено его переменной name? Я в таком ауте...