No minuto 8:45 do vídeo, o Guilherme fala que podemos receber zero argumentos nos varargs (caso só exista um parâmetro que espera varargs).
Mas e se caso exista um outro método que contenha o mesmo nome do método anterior? Vi que ele acaba invocando o método que não recebe nenhum parâmetro... mas porquê? Exemplo:
class Calculadora {
public int soma(int... numeros) {
int soma = 0;
for(int i = 0; i < numeros.length; i++) {
soma += numeros[i];
}
return soma;
}
public int soma() {
return 50;
}
}
public class TestaCalculadora {
public static void main(String[] args) {
Calculadora c = new Calculadora();
System.out.println(c.soma());
}
}