Métodos en Java

Domingo, 10 Diciembre 2006

Todo programa (clase) en Java, tiene una serie de elementos fijos. Un elemento que aparece siempre será el método. Cada clase Java es casi seguro que tendrá algún método. Resaltar aquí que si tenemos un programa en que una clase llame a otras, la clase desde donde empiece la ejecución, y sólo está, será la que lleve el método main, el cual ya quedó más o menos explicado aquí.

Explicaremos ahora algunas cosas más sobre los métodos en Java.

A la hora de definirlo la sintaxis será la siguiente:

tipo_devuelto nombre_metodo(parametros){
sentencias;

sentencias;

....

}

Así, si tenemos un método que se llame calculaMinimo, que nos devuelva a otro sitio el valor minimo de tres enteros que le pasemos escribiremos:

int calculaMinimo(int n1, int n2, int n3){

sentencias;

...
return minimo;
}

Con lo cual, le estaremos pasando tres enteros y devolviendo en la última línea el valor mínimo calculado al lugar donde haya sido llamado el método calculaMinimo. Un método puede recibir y devolver cualquier clase de dato:

  • Datos primitivos: puede ser cualquiera de los ocho tipos primitivos (Boolean, true o false, Char, Enteros, byte, short, int, long o Reales, float y double).
  • Puede llevar antes del nombre la palabra void en vez del tipo de dato devuelto si no queremos que devuelva ningún valor.
  • Además pueden devolver objetos. La condición es que el objeto devuelto debe corresponderse con la clase citada en la definición del método o con una subclase de la misma. Esto ya lo entenderemos cuando hablemos de qué son clases y cuando sepamos qué es la herencia.

Una cosa más a tener en cuenta es que si no definimos el método como void deberemos tener obligatoriamente una sentencia return para devolver un dato dentro del método.

En Java, podemos definir objetos con el mismo nombre que reciban distintos tipos de datos. Esto se llama sobrecargar los métodos. Eso sí los métodos deben devolver la misma clase de dato (si uno es void, el que se llame igual también será void, aunque uno y otro reciban parámetros distintos). Esto nos permite en un programa, si un método tiene que hacer algo en concreto con un tipo de dato y luego queremos hacerlo con otro tipo de dato, definir dos veces el mismo método y cambiar sólo el argumento que le pasamos, no definir dos métodos con dos nombres distintos.

Una clase especial de métodos son los constructores, que son métodos que se llaman igual que la clase en la que están definidos, y que básicamente se usan para inicializar nuevos objetos del tipo de la clase (idea de objeto y clase).