Los metodos java son funciones definidas dentro de una clase. Salvo los métodos static o de clase, se aplican siempre a un objeto de
la clase por medio del operador punto (.). Dicho objeto es su argumento implícito. Los métodos pueden además tener otros argumentos explícitos que
van entre paréntesis, a continuación del nombre del método. La primera línea de la definición de un método se llama declaración o header; el código
comprendido entre las llaves {…} es el cuerpo o body del método. Considérese el siguiente método tomado de la clase Circulo:
public Circulo elMayor(Circulo c) { // header y comienzo del método
if (this.r>=c.r) // body
return this; // body
else // body
return c; // body
} // final del método
El header consta del cualificador de acceso (public, en este caso), del tipo del valor de retorno (Circulo en este ejemplo, void si no tiene), del
nombre de la función y de una lista de argumentos explícitos entre paréntesis, separados por comas. Si no hay argumentos explícitos se dejan los
paréntesis vacíos; para conocer esta sintaxis mejor recomendamos este
curso java como este que es presencial y 100% práctico.
Los metodos java tienen visibilidad directa de las variables miembro del objeto que es su argumento implícito, es decir, pueden acceder a ellas sin cualificarlas con un nombre de objeto y el operador punto (.). De todas formas, también se puede acceder a ellas mediante la referencia this, de modo discrecional (como en el ejemplo anterior con this.r) o si alguna variable local o argumento las oculta.
Los métodos pueden definir variables locales. Su visibilidad llega desde la definición al final del bloque
en el que han sido definidas. No hace falta inicializar las variables locales en el punto en que se definen, pero el compilador no permite
utilizarlas sin haberles dado un valor. A diferencia de las variables miembro, las variables locales no se inicializan por defecto.
Otro tipo de variables locales a nivel de método son los parametros que reciben dichos métodos, ya que se definen dentro de los parentesis
y su vida o visibilidad solo es dentro de las llaves de dicho método en el cual se estan definiendo.
El valor de retorno puede ser un valor de un tipo primitivo o una referencia. En cualquier caso no puede haber más que un único valor de retorno (que puede ser un objeto o un array). Se puede devolver también una referencia a un objeto por medio de un nombre de interface. El objeto devuelto debe pertenecer a una clase que implemente esa interface.
Se puede devolver como valor de retorno un objeto de la misma clase que el método o de una subclase, pero nunca de una super-clase. Para desarrollar
estos metodos que devuelven un tipo de dato y otros recomendamos este
curso de java
donde aprenderás de la mano de un experto.
Estos valores que regresan mediante la palabra clave y reservada return la puede obtener otra variable de otra clase, dicha variable puede ser enviada
a otro método o constructor para su evaluación, es importante conocer y manejar este tipo de actividades que puede manejar Java ya que entre más conocimiento
se tenga mucho más fácil será la solución de un problema que se te pueda presentar hablando programaticamente.
Si en el header del método se incluye la palabra native (Ej: public native void miMetodo();) no hay que incluir el código o implementación del método. Este código deberá estar en una librería dinámica (Dynamic Link Library o DLL). Estas librerías son ficheros de funciones compiladas normalmente en lenguajes distintos de Java (C, C++, Fortran, etc.). Es la forma de poder utilizar conjuntamente funciones realizadas en otros lenguajes desde código escrito en Java. Este tema queda fuera del carácter fundamentalmente introductorio de este manual.
Un método también puede declararse como synchronized (Ej: public synchronized doublé miMetodoSynch(){...}). Estos métodos tienen la particularidad de que sobre un objeto no pueden ejecutarse simultáneamente dos métodos que estén sincronizados (véase Apartado 6.3, en la página 123).
Diseño de paginas Web Grupo Codesi