public static class Duck {
        public String toString() {
            return "Duck";
        }
    }
       в  main:
        Duck duck1 = new Duck();
        Duck duck2 = new Duck();
        System.out.println(duck1);
        System.out.println(duck2);
Почему в результате выходит "Duck" который в методе toString, ведь мы не вызывали этот метод? Это же метод класса Duck, а не конструктор? Конструктор - метод, который вызывается при создании нового объекта, то есть после создания объекта автоматически срабатывает код в конструкторе. Но toString это метод и мы его не вызывали типо duck1.toString();.Почему тогда при создании объектов, сразу у нас выходит "Duck"?Объясните кто-нибудь пожалуйста?