На самом деле это больше, чем просто перегрузка метода (где обычно одно и то же имя метода имеет другой аргумент типы ), это конкретный шаблон - где перегрузки в основном являются одним и тем же методом, и более короткий вызывает более длинный со значением по умолчанию для эмуляции необязательных параметров - он называется телескопическим / телескопическим шаблоном, обычно видимым на конструкторах, но, конечно, обобщаемым для любого метода.
Для более авторитетной цитаты вот выдержка из Effective Java 2nd Edition , Элемент 2: Рассмотрите шаблон компоновщика при столкновении со многими параметрами конструктора ( выдержка онлайн )
Традиционно программисты использовали шаблон телескопического конструктора , в котором вы предоставляете конструктору только необходимые параметры, другой - с одним необязательным параметром, третий - с двумя дополнительными параметрами и т. Д. .
Опять же, обычно телескопический паттерн обсуждается в контексте конструкторов (где, например, у 2-аргументного конструктора будет одна строка this(arg1, arg2, ARG3_DEFAULT);
для вызова 3-аргументного конструктора и т. Д.), Но я не понимаю, почему он не может быть обобщено и на другие методы.
Другая авторитетная цитата, к сожалению, без определения шаблона: Sun Developer Network: Как написать комментарии к документу для инструмента Javadoc :
Обратите внимание, что методы и конструкторы расположены в «телескопическом» порядке, что означает сначала форму «no arg», затем форму «1 arg», затем форму «2 arg» и т. Д.
И еще одна случайная цитата с более четким определением шаблона: Я перегружен методом ненависти (и вы тоже можете!) :
Методы телескопирования
У вас может быть функция, которая принимает некоторое количество аргументов. Последние несколько аргументов, возможно, не так уж важны, и большинство пользователей будут раздражены необходимостью выяснить, что в них передать. Таким образом, вы создаете еще несколько методов с тем же именем и меньшим количеством аргументов, которые обращаются к методу «master».
В этой последней цитате прямо предлагается, что языковая поддержка аргументов по умолчанию является гораздо лучшей альтернативой.