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
| private | Método privado que só pode ser acedido por código dentro da própria classe. |
| protected | Método protegido que só pode ser acedida por uma subclasse ou por outra classe no mesmo package |
| public | Método publico que só pode ser acedida por qualquer outra classe |
| static | Método estático que só pode ser acedido a partir da classe. |
