No necesitas repetir el mismo código todo el tiempo sino que puedes crear métodos para encapsular una funcionalidad. Por ello, vamos a ver qué son los métodos en Java.

Por ahora hemos visto que podemos crear algunas líneas de código y, para repetir la misma funcinalidad, necesitamos repetir el mismo código… La verdad es que no es una buena forma de hacer las cosas. ¿Por qué repetir si podemos reusar?

Los métodos en Jara son una forma de hacerlo. Solamente necesitamos definir un método y poner en su interior todos los comandos que querramos. Y para verlo, nada mejor que un ejemplo:

public class HelloMethods {
    
    public void testSimpleMethod () {
        System.out.println ("testSimpleMethod");
    }
    
    public static void main(String []args) {
        HelloWorld helloWorld = new HelloWorld();
        helloWorld.testMethod();
    }
}

Aquí vemos que hay un método cuyo nombre es “testSimpleMethod”. Este método solamente hace una cosa: imprimir un mensaje con el nombre del método. ¿A qué es un método muy sencillo de entender? Sin duda lo es, pero es una buena forma de empezar a mirar con menos desconfianza estas recetas de hechizos malignos.

Y ahora vamos a ver como podemos definir un método (o como definir la signatura del método, que también es conocido de esta manera):

<visibilidad> <valor de retorno> <nombre del método> (<parámetros>) {
    CUERPO
}

¿Qué es cada cosa?

  • Visibilidad. Un método puede tener diferentes visibilidades, por ejemplo público, privado, etc. Pero ahora mismo esto no es importante para nosotros, así que vamos a suponer que todos los métodos son públicos y todo el mundo es feliz porque puede usarlo sin restricciones. Pero en el futuro hablaremos más sobre eso y pasaremos a tener cuidado con la visibilidad.
  • Valor de retorno. Un método puede devolver un valor o puede no devolver nada. En el ejemplo anterior devuelve un valor de tipo “void” qué básicamente significa que no devuelve nada. Si en lugar de eso quisiéramos devolver algo, podría ser una primitiva, por ejemplo “int” o un objeto cualquiera.
  • Nombre del método. Podemos utilizar cualquier nombre para nombrar un método, lo que sí tendríamos que tener en cuenta es que hay una serie de convenciones para ello, siendo la más usual la de empezar en minúscula el nombre del método y, si es un nombre compuesto de varias palabras, utilizar la primera letra de cada palabra en mayúsculas. Por ejemplo, si quisiéramos utilizar como nombre método algo que indicara sacar un coche del garaje, lo podríamos llamar: “sacarCocheDelGaraje”.
  • Parámetros. Cuando llamas a un método puedes enviarle una serie de parámetros a la par que lo invocas. De esta manera podrás hacer con el mismo código diferentes cosas o tomar diferentes decisiones. Estos parámetros se exponen dentro del método como si fueran variables de toda la vida.

También tendríamos que saber como se hacen las llamadas a métodos en Java. Simplemente tienes que poner el nombre del objeto que contiene el método más un punto más el nombre del método, unos paréntesis y, en su interior, los parámetros que se van a enviar (o nada). Quizás te hayas fijado que es la forma en que hemos ido llamando a imprimir todo el tiempo con el método println de System.out: System.out.println (“Hola Mundo”);

¿Y eso es todo? Ciertamente no, un método puede tener más características, pero son un poco avanzadas y ya hablaremos en el futuro sobre  este tema de nuevo.

Pero antes de terminar esta entrada, vamos a ver un par de ejemplos más:

public class HelloMethods {
    
    public void testMethodWithOneParameter (String greetings) {
        System.out.println (greetings);
    }
    
    public static void main(String []args) {
        HelloWorld helloWorld = new HelloWorld();
        helloWorld.testMethodWithOneParameter("Methods are awesome");
    }
}

En este ejemplo vemos que tenemos un método con un parámetro llamado “greetings” de tipo String. Esta cadena de texto se utiliza para imprimir su valor y llamamos al método con esa cadena.

public class HelloMethods {
    
    public int testMethodWithParametersAndReturnValue (int param1, int param2) {
        return param1 + param2;
    }
    
    public static void main(String []args) {
        HelloWorld helloWorld = new HelloWorld();
        int result = helloWorld.testMethodWithParametersAndReturnValue(1, 2);
        System.out.println (result);
    }
}

Aquí tenemos otro método (con un larguísimo nombre: “testMethodWithParametersAndReturnValue”) que recibe dos parámetros de tipo int: “param1” y “param2” y tiene un valor de retorno de tipo int. Para devolver un valor, solamente tenemos que poner “return” y algo. En este caso devolveremos directamente la suma de param1 y param2.

Como tenemos un valor de retorno, podemos quedarnos con ese valor en el momento en que llamamos al método. En el ejemplo tenemos que a la variable “result” se le asigna el valor de retorno del método y, una vez hecho eso, podemos hacer cualquier cosa con ese valor, por ejemplo, imprimirlo.

Una última cosa antes de terminar esta introducción sobre los métodos. Puedes tener todos los parámetros de entrada que quieras, pero solo podrás tener un único valor de retorno. Recuerda, uno y solo uno (y si no lo recuerda, ¡el compilador te lo recordará con un bonito error en tiempo de compilación!).

 

Leave a Reply

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>