Java permite ter múltiplos métodos com o mesmo nome, mas com parâmetros diferentes. Isso é chamado de sobrecarga de métodos:
public class SobrecargaMetodos {
public static void main(String[] args) {
// Chamando método para calcular área do quadrado
double areaQuadrado = calcularArea(5);
System.out.println("Área do quadrado: " + areaQuadrado);
// Chamando método para calcular área do retângulo
double areaRetangulo = calcularArea(5, 10);
System.out.println("Área do retângulo: " + areaRetangulo);
// Chamando método para calcular área do trapézio
double areaTrapezio = calcularArea(6, 8, 5);
System.out.println("Área do trapézio: " + areaTrapezio);
// Outra sobrecarga: método que aceita diferentes tipos
imprimirInfo("Texto de teste");
imprimirInfo(42);
imprimirInfo(3.14);
imprimirInfo(true);
}
// Método para calcular área de um quadrado
public static double calcularArea(double lado) {
return lado * lado;
}
// Método para calcular área de um retângulo
public static double calcularArea(double base, double altura) {
return base * altura;
}
// Método para calcular área de um trapézio
public static double calcularArea(double baseMaior, double baseMenor, double altura) {
return ((baseMaior + baseMenor) * altura) / 2;
}
// Métodos sobrecarregados que aceitam diferentes tipos
public static void imprimirInfo(String texto) {
System.out.println("\nTexto: " + texto);
}
public static void imprimirInfo(int numero) {
System.out.println("Número inteiro: " + numero);
}
public static void imprimirInfo(double numero) {
System.out.println("Número decimal: " + numero);
}
public static void imprimirInfo(boolean condicao) {
System.out.println("Condição: " + condicao);
}
}
Área do quadrado: 25.0
Área do retângulo: 50.0
Área do trapézio: 35.0
Texto: Texto de teste
Número inteiro: 42
Número decimal: 3.14
Condição: true
Observação: A sobrecarga de métodos permite que você use o mesmo nome para métodos que realizam ações semelhantes, mas com diferentes tipos ou quantidades de parâmetros. O compilador Java decide qual método chamar com base nos argumentos fornecidos.
Nesse código, usamos um vetor de número inteiro e loop for para criar os números do vetor.
Em seguida, usamos um método personalizado para calcular a média dos números do vetor criado.
import java.util.Scanner;
public class calcularMediaComVetores {
public static void main(String[] args){
Scanner entrada = new Scanner(System.in);
int soma = 0;
int[] numeros = new int[5];
System.out.println("Digite 5 números para calcular a média");
for (int i = 0; i < 5; i++) {
System.out.print("Digite o número " + (i + 1) + " :");
numeros[i] = entrada.nextInt(); // Supondo que se digite: 1, 2, 3, 4, 5
}
double media = calcularMedia(numeros);
System.out.println("A média é: " + media);
entrada.close();
}
public static double calcularMedia(int[] numeros) {
int soma = 0;
for (int numero : numeros) {
soma += numero;
}
return (double) soma / numeros.length;
}
}
Digite 5 números para calcular a média
Digite o número 1 : 1
Digite o número 1 : 2
Digite o número 1 : 3
Digite o número 1 : 4
Digite o número 1 : 5
A média é: 3.0
Teste seus conhecimentos sobre sobrecarga de métodos e métodos com vetores em Java:
Reforce o conteúdo desta aula com mais dois exercícios práticos: