Sobes.tech
Junior — Middle

Quais são as restrições ao usar um método com o mesmo nome na mesma classe em Java?

sobes.tech IA

Resposta da IA

Em Java, numa mesma classe, é possível ter vários métodos com o mesmo nome, desde que diferirem na assinatura — ou seja, na quantidade, tipos ou ordem dos parâmetros. Isto é chamado sobrecarga de métodos (method overloading).

Restrições:

  • Os métodos devem diferir pelos parâmetros, caso contrário ocorrerá um erro de compilação.
  • A sobrecarga não pode basear-se apenas na diferença de tipo de retorno.
  • Não é permitido ter dois métodos com a mesma assinatura, mesmo que diferem nos modificadores de acesso.

Exemplo:

class Example {
    void print(String s) { System.out.println(s); }
    void print(int i) { System.out.println(i); }
    // void print(String s) { } // Erro: assinatura duplicada
}