Los métodos de clase en Java

curso Java

En este capítulo, te voy a enseñar lo que es un método de una clase en Java, tema fundamental de la programación orientada a objetos.


¿Qué es un método?

Los métodos son bloques de código, que pertenecen a una clase y, que pueden ser ejecutados tantas veces como queramos, sin necesitar cumplir una expresión como con los condicionales y bucles.

La gran diferencia es que los podemos ejecutar solo nombrándolos, y además, les podemos pasar valores extra, llamados argumentos.

En la clase del capítulo anterior, estábamos repitiendo mucho código fíjate en todos estos println():

//Imprime los datos del objeto auto1
System.out.println("-->Atributos del objeto auto1");
System.out.println(auto1.marca);
System.out.println(auto1.modelo);
System.out.println(auto1.numeroRuedas);
System.out.println(auto1.color);
System.out.println(auto1.year);

//Imprime los datos del objeto auto2
System.out.println("-->Atributos del objeto auto2");
System.out.println(auto2.marca);
System.out.println(auto2.modelo);
System.out.println(auto2.numeroRuedas);
System.out.println(auto2.color);
System.out.println(auto2.year);

Imagina que quisieras sacar todos estos println() de 50 objetos. Sería muy repetitivo y lento de escribir ¿no?

Con los métodos puedes escribir estos println() una sola vez y utilizarlos con cualquier objeto que instancies de la clase.

Seguimos con el ejemplo de la clase Usuario.

En este momento, tengo todos los atributos de cada objeto asignados. Solo me faltaría escribir 5 println() para cada objeto (10 en total) y así mostrar los valores en la consola.

class Usuario {
    //Atributos
    String nombre;
    String apellidos;
    byte edad;
    String direccion;
    String telefono;
}

public class Main {
    public static void main(String[] args) {
        //Instancias de Usuario
        Usuario usuario1 = new Usuario();
        Usuario usuario2 = new Usuario();

        //Asignación de valores de usuario1
        usuario1.nombre = "Juan";
        usuario1.apellidos = "Pérez García";
        usuario1.edad = 32;
        usuario1.direccion = "Av. del Pacífico, 23";
        usuario1.telefono = "+34-91-000-0000";

        //Asignación de valores de usuario2
        usuario2.nombre = "María";
        usuario2.apellidos = "Rodríguez Martínez";
        usuario2.edad = 28;
        usuario2.direccion = "C/ del Sol, 5";
        usuario2.telefono = "+34-91-000-0000";
    }
}

Sin embargo, con un simple método, se puede hacer esto para todos los objetos, escribiéndolo una sola vez.

Nos vamos a la clase Usuario, donde escribiremos el método.

class Usuario {
    //Atributos
    String nombre;
    String apellidos;
    byte edad;
    String direccion;
    String telefono;

    //Método para mostrar la información del objeto
    public void mostrarDatos() {
        System.out.println("Nombre: " + nombre);
        System.out.println("Apellidos: " + apellidos);
        System.out.println("Edad: " + edad);
        System.out.println("Dirección: " + direccion);
        System.out.println("Teléfono: " + telefono);
    }
}

El método de momento, hasta que me ponga a explicarlo, lo escribiremos con public void y el nombre.

Entre las llaves del método, puedes poner tanto código como necesites, aunque he de decir, que debería ser código relacionado entre sí.

Este método, lo que hará cuando lo llamemos, es imprimir «Nombre: » y con el símbolo más (+) hará una concatenación con el nombre del objeto desde el cual hagamos la llamada.

¿Qué es concatenar?

Para quien no sepa lo que es concatenar, te digo, que es la acción de unir dos trozos de texto (strings o cadenas de caracteres) con el fin de formar uno solo. Por ejemplo, esto:

public class Main {
    public static void main(String[] args) {
        String mensaje = "Programación " + "Fácil";
        System.out.println(mensaje); // Imprime Programación Fácil
    }
}

Resultado en la consola

Programación Fácil

Gracias a esto, podemos ir «sumando» valores, para formar una frase.

Llamar a un método de Java

Continuando con el método, procedamos a hacer una llamada.

Las llamadas son como lo que hacemos con las variables. Ponemos su nombre y las utilizamos. En este caso, funciona igual, solo que en lugar de almacenar un solo valor, tienen capacidades de guardar trozos de código en su interior, que al ser llamado, se ejecuta y hace todo lo

Si hacemos la llamada desde el objeto usuario1, imprimirá el valor de su atributo, en cambio, si lo hacemos desde el usuario2, lo hará con el nombre de este. El resto de valores igual.

Ahora, para mostrar la información de un objeto, llamaré al método así:

//Llamada al método de información del objeto
usuario1.mostrarDatos();

Con solo esta línea, ya ejecutamos todos esos println().

Esta línea, colócala al final del método main de la clase Main.

Resultado en la consola

Nombre: Juan
Apellidos: Pérez García
Edad: 32
Dirección: Av. del Pacífico, 23
Teléfono: +34-91-000-0000

Ahora, si en su lugar pones usuario2 o el objeto que sea, si tienes más, funcionará con sus propios datos:

//Llamada al método de información del objeto
usuario2.mostrarDatos();

Resultado en la consola

Nombre: María
Apellidos: Rodríguez Martínez
Edad: 28
Dirección: C/ del Sol, 5
Teléfono: +34-91-000-0000

Dejamos el capítulo aquí. En el siguiente, te enseñaré una mejora para la parte de inicializar los atributos en su instanciación, para suprimir todas estas líneas:

        //Asignación de valores de usuario1
        usuario1.nombre = "Juan";
        usuario1.apellidos = "Pérez García";
        usuario1.edad = 32;
        usuario1.direccion = "Av. del Pacífico, 23";
        usuario1.telefono = "+34-91-000-0000";

        //Asignación de valores de usuario2
        usuario2.nombre = "María";
        usuario2.apellidos = "Rodríguez Martínez";
        usuario2.edad = 28;
        usuario2.direccion = "C/ del Sol, 5";
        usuario2.telefono = "+34-91-000-0000";

Todo el temario del curso Java aquí.


Los métodos de clase en Java

2 comentarios en «Los métodos de clase en Java»

  1. Soy estudiante de DAM y estoy realizando tu curso porque me parece muy interesante y me sirve de repaso. Además de aprender cosas nuevas o entenderlas mejor. En cuanto al método mostrarDatos() del tema «Los métodos de clase en java», no es igual que el método toString()? Que diferencia existe? Gracias.

Deja una respuesta

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

Scroll hacia arriba