Это требование дизайна Java.
Поскольку Java является языком со строгой типизацией, вы должны определить тип каждой переменной.
Когда вы объявляете строку (или что-то еще), вы можете установить несколько переменных только с одним объявлением типа.
String a,b;
Но в методе аргументы могут иметь разные типы
void myFunction(String a, Integer b, [etc...])
Таким образом, вы должны указать каждый тип для аргументов.
Исключение составляют функции с переменным числом аргументов
void myFunction(String... args) {
for (String arg : args) {
System.out.println(arg);
}
}