Sobrecarga de Métodos y Constructores en Java

Clase 11 de 39Curso de Java SE Orientado a Objetos

Resumen

A veces necesitamos que dos o más métodos de una misma clase tengan el mismo nombre, pero con diferentes argumentos o distintos tipos de argumentos/valores de retorno.

Afortunadamente, Java nos permite ejecutar código y métodos diferentes dependiendo de los argumentos que reciba nuestra clase.

public class Calculadora { // Los dos parámetros y el valor de retorno son de tipo int public int suma(int a, int b) { return a + b; } // Los dos parámetros y el valor de retorno son de tipo float public float suma(float a, float b) { return a + b; } // Un parámetro es de tipo int, mientras que el otro parámetro // y el valor de retorno son de tipo float public float suma(int a, float b) { return a + b; } }

El uso más común de la sobrecarga de métodos es la sobrecarga de constructores para instanciar objetos de formas distintas dependiendo de la cantidad de argumentos que enviamos.

public class Doctor { static int id = 0; String name; String speciality; public Doctor() { this.name = "Nombre por defecto"; this.speciality = "Especialidad por defecto"; } public Doctor(String name, String speciality) { this.name = name; this.speciality = speciality; } }