Domine Métodos em Java: Guia Completo com Exemplos

Em Java, um método representa um bloco de código que pode ser executado repetidamente quando necessário. Essencialmente, ele encapsula uma sequência de instruções que realizam uma tarefa específica.

Frequentemente, os métodos são referidos como funções, e é comum observar o uso intercambiável desses termos.

A Relevância de Utilizar Métodos ou Funções

No desenvolvimento de software, a prática comum é decompor um problema complexo em subproblemas menores e mais gerenciáveis. A resolução desses pequenos problemas leva à solução do problema maior. Essa abordagem é o fundamento da arquitetura modular, onde o código é estruturado em partes independentes, que podem ser combinadas para resolver problemas mais amplos.

Os métodos oferecem vantagens significativas, principalmente devido à sua capacidade de reutilização em diferentes partes de um aplicativo. Considere o cenário onde você precisa de um método que elimine espaços em branco desnecessários de uma string. Seria ineficiente duplicar a lógica toda vez que essa ação fosse necessária.

A solução mais eficaz é criar o método uma única vez e reutilizá-lo com diferentes entradas em várias partes do aplicativo. Essa abordagem não só economiza tempo, mas também torna o código mais limpo e fácil de manter.

Além disso, Java oferece modificadores de acesso, que permitem controlar a visibilidade e o compartilhamento de métodos dentro do aplicativo. Essa funcionalidade contribui para um código mais organizado, legível e estruturado.

Classificação dos Métodos em Java

Em Java, os métodos são classificados em duas categorias: métodos definidos pelo usuário e métodos predefinidos. Os métodos definidos pelo usuário são criados explicitamente pelo programador, adaptados às necessidades específicas do projeto. Um exemplo seria:

public int somar(int a, int b) {
    return a + b;
}

Por outro lado, os métodos predefinidos, ou métodos integrados, já são fornecidos como parte da linguagem Java. Um exemplo seria:

String texto = "Olá Mundo";
texto.toLowerCase();

Neste exemplo, toLowerCase é um método nativo do Java, disponível para uso em qualquer parte do código.

A Estrutura de um Método Java

A estrutura padrão de um método Java é definida da seguinte forma:

[modificador_de_acesso] [tipo_de_retorno] nome_do_metodo(...parametros) {
    // corpo do método
}

A ordem desses componentes é crucial. O tipo de retorno, por exemplo, não pode ser especificado após o nome do método. Cada um desses componentes tem um papel específico e contribui para a funcionalidade do método.

#1. Modificador de Acesso

Os modificadores de acesso em Java são palavras-chave que controlam a visibilidade de métodos, classes, interfaces e variáveis. Existem cinco modificadores de acesso em Java:

  • public: acessível de qualquer lugar no código.
  • private: acessível apenas dentro da classe onde é definido.
  • default: acessível apenas dentro do mesmo pacote.
  • protected: acessível dentro do mesmo pacote e por subclasses em pacotes diferentes.
public int somar(int a, int b) {
    return a + b;
}

No exemplo acima, o método `somar` é público, o que significa que pode ser acessado em qualquer parte do código.

#2. Tipo de Retorno

O tipo de retorno define o tipo de dados que o método retornará após a sua execução. Se o método não retorna nenhum valor, o tipo de retorno é especificado como `void`. É obrigatório especificar o tipo de retorno ao declarar um método. A instrução `return` não deve ser usada quando o tipo é void.

public void exibirMensagem(String texto) {
    System.out.println(texto);
}

Neste caso, o método `exibirMensagem` não retorna nenhum valor, apenas imprime um texto no console. Por isso, seu tipo de retorno é `void`.

#3. Nome do Método

O nome do método é o identificador que permite a sua invocação e distingue-o de outros métodos dentro da mesma classe.

class Impressora {
    void exibir(String texto) {
        System.out.println(texto);
    }
}

Impressora imp = new Impressora();
imp.exibir("Olá, Mundo!"); // Imprime "Olá, Mundo!"

#4. Parâmetros

Os parâmetros são os valores que um método recebe para realizar a sua função. Eles devem ser especificados com seus respectivos tipos de dados na assinatura do método. A ordem e o tipo dos argumentos devem corresponder aos parâmetros definidos.

class Calculadora {
    int somar(int a, int b) {
        return a + b;
    }
}

Calculadora calc = new Calculadora();
calc.somar(5, 10); // Retorna 15

#5. Corpo

O corpo do método contém a lógica de programação que define as ações que o método realiza, incluindo a manipulação dos dados recebidos como parâmetros e o cálculo do valor de retorno. O corpo é delimitado por chaves (`{}`).

class Calculadora {
    int somar(int a, int b) {
        return a + b;
    }
}

Neste exemplo, a instrução `return a + b;` dentro das chaves é o corpo do método `somar`.

Como Invocar Métodos em Java

A invocação de métodos em Java é um processo direto. Métodos são chamados através de uma instância da classe onde são definidos.

Métodos estáticos podem ser invocados diretamente pelo nome da classe, sem a necessidade de criar uma instância do objeto. Já os métodos não estáticos precisam ser invocados por meio de um objeto da classe.

Para métodos estáticos, a chamada é feita assim:

class Matematica {
    public static int somar(int a, int b) {
        return a + b;
    }
}

public class Principal {
    public static void main(String[] args) {
        int resultado = Matematica.somar(5, 2);
        System.out.println(resultado);
    }
}

Neste caso, o método `somar` é estático e, portanto, pode ser invocado diretamente pela classe `Matematica` sem criar um objeto.

Para métodos não estáticos, a invocação é feita da seguinte forma:

class Matematica {
    public int somar(int a, int b) {
        return a + b;
    }
}

public class Principal {
    public static void main(String[] args) {
        int resultado = new Matematica().somar(5, 2);
        System.out.println(resultado);
    }
}

Aqui, é necessário criar uma instância da classe `Matematica` para poder chamar o método `somar`. Isso ocorre porque os métodos não estáticos só são instanciados quando a classe é instanciada.

Estes são os princípios básicos de como invocar métodos em Java.

Considerações Finais

Os métodos são uma ferramenta essencial em qualquer linguagem de programação, incluindo Java. Eles permitem organizar o código de forma eficiente, facilitando a reutilização em várias partes do projeto. Métodos são a base da arquitetura modular e baseada em componentes.

Se você está interessado em aprofundar seus conhecimentos em Java, explore mais sobre o tratamento de exceções em Java.