Los métodos se pueden utilizar tanto para consultar información sobre el objeto como para modificar su estado. La información consultada del objeto se devuelve a través de lo que se conoce como valor de retorno, y la modificación del estado del objeto, o sea, de sus atributos, se hace mediante la lista de parámetros.
En general, la lista de parámetros de un método se puede declarar de dos formas diferentes:
- Por valor. El valor de los parámetros no se devuelve al finalizar el método, es decir, cualquier modificación que se haga en los parámetros no tendrá efecto una vez se salga del método. Esto es así porque cuando se llama al método desde cualquier parte del programa, dicho método recibe una copia de los argumentos, por tanto cualquier modificación que haga será sobre la copia, no sobre las variables originales.
- Por referencia. La modificación en los valores de los parámetros sí tienen efecto tras la finalización del método. Cuando pasamos una variable a un método por referencia lo que estamos haciendo es pasar la dirección del dato en memoria, por tanto cualquier cambio en el dato seguirá modificado una vez que salgamos del método.
En el lenguaje Java, todas las variables se pasan por valor, excepto los objetos que se pasan por referencia.
En Java, la declaración de un método tiene dos restricciones:
- Un método siempre tiene que devolver un valor (no hay valor por defecto). Este valor de retorno es el valor que devuelve el método cuando termina de ejecutarse, al método o programa que lo llamó. Puede ser un tipo primitivo, un tipo referenciado o bien el tipo void, que indica que el método no devuelve ningún valor.
- Un método tiene un número fijo de argumentos. Los argumentos son variables a través de las cuales se pasa información al método desde el lugar del que se llame, para que éste pueda utilizar dichos valores durante su ejecución. Los argumentos reciben el nombre de parámetros cuando aparecen en la declaración del método.
El valor de retorno es la información que devuelve un método tras su ejecución.
Según hemos visto en el apartado anterior, la cabecera de un método se declara como sigue:
public tipo_de_dato_devuelto nombre_metodo (lista_de_parametros);
Como vemos, el tipo de dato devuelto aparece después del modificador public
y se corresponde con el valor de retorno.
La lista de parámetros aparece al final de la cabecera del método, justo después del nombre, encerrados entre signos de paréntesis y separados por comas. Se debe indicar el tipo de dato de cada parámetro así:
(tipo_parámetro1 nombre_parámetro1, ..., tipo_parámetroN nombre_parámetroN)
Cuando se llame al método, se deberá su nombre, seguido de los argumentos que deben coincidir con la lista de parámetros.
La lista de argumentos en la llamada a un método debe coincidir en número, tipo y orden con los parámetros , ya que de lo contrario se produciría un error de sintaxis.