Como sobrecarregar métodos em java

Video: Tutorial Java Aula 14 - O método main

Uma classe Java pode conter dois ou mais métodos com o mesmo nome, desde que esses métodos de aceitar diferentes parâmetros. Esta técnica, chamada sobrecarga, é uma das chaves para a construção flexibilidade em suas classes. Com sobrecarga, você pode antecipar diferentes maneiras que alguém pode querer invocar funções de um objeto e, em seguida, fornecer métodos sobrecarregados para cada alternativa.

Video: Aula de Java 023 - Sobrecarga

O termo sobrecarregando é preciso, mas um pouco infeliz. Normalmente, quando você diz que algo está sobrecarregado, há um problema. Felizmente, você não precisa se preocupar com Java em colapso sob o peso de métodos sobrecarregados.

Você já está familiarizado com várias classes que têm sobrecarregado métodos, embora você não pode realizá-lo. A classe PrintWriter, por exemplo (que você acessa via System.out), define 10 versões do método println que permitem imprimir diferentes tipos de dados. As seguintes linhas mostram a declaração método para cada uma dessas sobrecargas:

println vazio () vazio println (booleano x) println vazio (char x) println vazio (char [] X) println vazio (double x) println vazio (float x) println vazio (int x) vazio println (comprimento x) println vácuo (Object x) println vazio (string x)


A regra básica na criação de métodos sobrecarregados é que cada método deve ter uma assinatura única. Um do método assinatura é a combinação de seu nome, o número e tipos de parâmetros que aceita. Assim, cada um dos métodos println tem uma assinatura diferente, porque, apesar de todos os métodos têm o mesmo nome, cada método aceita um tipo de parâmetro diferente.

Video: Curso de Java 56: Enum: métodos abstratos

Duas coisas que são não uma parte da assinatura de um método são

  • tipo de retorno do método: Você não pode codificar dois métodos com o mesmo nome e parâmetros, mas com diferentes tipos de retorno.

  • Os nomes dos parâmetros: Tudo o que importa para a assinatura do método são os tipos dos parâmetros e a ordem em que eles aparecem. Assim, os dois métodos a seguir têm a mesma assinatura:

someMethodOfMine duplo (double x, y booleano) someMethodOfMine duplo (double parâmetro1, booleano param2)

Publicações relacionadas