Sobrecarga de método
O método max usado acima se aplica apenas a dados do tipo int. Mas e se você quiser obter o valor máximo de dois tipos de dados de ponto flutuante?
A solução é criar outro método com o mesmo nome, mas com parâmetros diferentes, conforme mostrado no código a seguir:
public static double max(duplo num1, double num2) { if (num1 > num2) return num1;
Se você passar um parâmetro int ao chamar o método max, o método max do parâmetro int será chamado;
Se um parâmetro double for passado, o corpo do método max do tipo double será chamado, o que é chamado de sobrecarga de método;
Ou seja, dois métodos de uma classe possuem o mesmo nome, mas listas de parâmetros diferentes.
O compilador Java determina qual método deve ser chamado com base na assinatura do método.
A sobrecarga de métodos pode tornar o programa mais claro e fácil de ler. Os métodos que executam tarefas intimamente relacionadas devem usar o mesmo nome.
Os métodos sobrecarregados devem ter listas de parâmetros diferentes. Você não pode sobrecarregar métodos baseados apenas em modificadores ou tipos de retorno.
escopo variável
O escopo de uma variável é a parte do programa a partir da qual a variável pode ser referenciada.
Variáveis definidas dentro de um método são chamadas de variáveis locais.
O escopo de uma variável local começa no momento em que ela é declarada e termina no final do bloco que a contém.
Variáveis locais devem ser declaradas antes de serem usadas.
O escopo do parâmetro de um método cobre todo o método. O parâmetro é na verdade uma variável local.
As variáveis declaradas na parte de inicialização do loop for têm escopo em todo o loop.
Mas o escopo de aplicação da variável declarada no corpo do loop vai desde sua declaração até o final do corpo do loop. Ele contém declarações de variáveis conforme mostrado abaixo:
Você pode declarar uma variável local com o mesmo nome várias vezes dentro de um método, em diferentes blocos não aninhados, mas não pode declarar uma variável local duas vezes dentro de um bloco aninhado.