Sobrecarga de métodos
El método max utilizado anteriormente solo se aplica a datos de tipo int. Pero, ¿qué sucede si desea obtener el valor máximo de dos tipos de datos de punto flotante?
La solución es crear otro método con el mismo nombre pero con diferentes parámetros, como se muestra en el siguiente código:
public static double max(doble num1, doble num2) {si (num1 > num2) devuelve num1; de lo contrario, devuelve num2;}
Si pasa un parámetro int al llamar al método max, se llamará al método max del parámetro int;
Si se pasa un parámetro doble, se llamará al cuerpo del método máximo del tipo doble, lo que se denomina sobrecarga de método;
Es decir, dos métodos de una clase tienen el mismo nombre, pero listas de parámetros diferentes.
El compilador de Java determina qué método se debe llamar en función de la firma del método.
La sobrecarga de métodos puede hacer que el programa sea más claro y fácil de leer. Los métodos que realizan tareas estrechamente relacionadas deben utilizar el mismo nombre.
Los métodos sobrecargados deben tener listas de parámetros diferentes. No puede sobrecargar métodos basados únicamente en modificadores o tipos de retorno.
alcance variable
El alcance de una variable es la parte del programa desde la que se puede hacer referencia a la variable.
Las variables definidas dentro de un método se denominan variables locales.
El alcance de una variable local comienza desde su declaración y termina al final del bloque que la contiene.
Las variables locales deben declararse antes de poder usarse.
El alcance del parámetro de un método cubre todo el método. El parámetro es en realidad una variable local.
Las variables declaradas en la parte de inicialización del bucle for tienen alcance durante todo el bucle.
Pero el ámbito de aplicación de la variable declarada en el cuerpo del bucle es desde su declaración hasta el final del cuerpo del bucle. Contiene declaraciones de variables como se muestra a continuación:
Puede declarar una variable local con el mismo nombre varias veces dentro de un método, en diferentes bloques no anidados, pero no puede declarar una variable local dos veces dentro de un bloque anidado.