Métodos

Métodos são blocos de código, existentes nas classes, semelhantes a funções, que só são executados quando
são chamados.
Tal como nas funções, podemos passar dados, ou parâmetros.
Os métodos podem retornar um valor.
A principal vantagem dos métodos, tal como as funções, é a reutilização de código.

Declaração de um método

Declaramos um método indicando o seu tipo de de dados de retorno ou void se não retornar um valor, o nome do método seguido da lista de argumentos, se existir, entre parenteses. Por fim, declaramos o corpo do método entre chavetas com o código que o método irá executar:

{tipo | void} nome_método ([argumento1... argumentoN]){
      //Corpo do método
}

Exemplos:

public class Main { 
   void ola (){ 
      System.out.println(“Ola”); 
   } 

   double somar(double n1, double n2){ 
      return n1 + n2 ; 
   } 

   int multiplicar (int n1, int n2){ 
      return n1 * n2; 
   } 
} 

Se o método tiver um tipo de dados de retorno ( que não seja void ) temos de incluir a
instrução return no corpo do método, obrigatoriamente.

Chamada de um método

Podemos chamar um método dentro da classe em que foi declarado ou, se o método não for privado, a partir de um objeto criado com a classe:

Exemplo 1:

public class Main {
   void ola (){ 
      System.out.println(“Ola”); 
   } 
   double somar(double n1, double n2){ 
      return n1 + n2 ; 
   } 
   int multiplicar (int n1, int n2){ 
      return n1 * n2; 
   } 
 
   public Main(){ 
      ola(); chamamos o método ola() 
      int res = multiplicar(7, 4); //chamamos o método multiplicar dentro da classe()
   } 
} 

Exemplo 2:

public class Carro { 
 
   void trava(){ 
      System.out.println(“Trava”); 
   } 
} 
 
public class Main { 
   public Main(){ 
      Carro c = new Carro(); 
      c1.trava(); //chamamos o método trava() a partir do objeto c1 
   } 
} 

Sobrecarga (overloading) de métodos

A sobregarga (overloading) de métodos é a possibilidade de, na mesma classe, vários métodos terem o
mesmo nome mas parâmetros diferentes.

Exemplo:

public class Calc {
   double somar (int n1, int n2){ 
      return n1 + n2;
   }
   double somar(double n1, double n2){ 
      return n1 + n2 ;
   }
   double somar (int n1, int n2, int n3){ 
      return n1 + n2 + n3;
   }
}

Modificadores de métodos

privateMétodo privado que só pode ser acedido por código dentro da própria classe.
protectedMétodo protegido que só pode ser acedida por uma subclasse ou por outra classe no mesmo package
publicMétodo publico que só pode ser acedida por qualquer outra classe
staticMétodo estático que só pode ser acedido a partir da classe.