Vas a ver un ejemplo de programa java en el que se crean diversos objetos a partir de la clase MiClase, para la creación de cada uno de estos objetos se utiliza el mismo nombre de método constructor: MiClase() pero en cada uno de ellos se ejecuta un método diferente (sobrecarga) ya que el número y tipo de sus parámetros no coincide con el método constructor empleado en la creción de los otros objetos.
Seguidamente se puede ver el código correspondiente a la clase MiClase:
class MiClase{ int x; MiClase(){ System.out.println("Dentro de MiClase()."); x=0; } MiClase(int i){ System.out.println("Dentro de MiClase(int)."); x=i; } MiClase(double d){ System.out.println("Dentro de MiClase(double)."); x=(int)d; } MiClase(int i, int j){ System.out.println("Dentro de MiClase(int, int)."); x=i*j; } }
Tal y como se puede ver, dicha clase contiene 4 métodos constructor de nombre MiClase. Métodos sobrecargados con un número de parámetros y tipo no coincidente entre ellos.
Finalmente se tiene el código correspondiente a la clase lanzadora denominada sobre1:
class sobre1{
public static void main(String[] args) {
MiClase t1=new MiClase();
MiClase t2=new MiClase(28);
MiClase t3=new MiClase(15.23);
MiClase t4=new MiClase(2,4);
System.out.println(«t1.x: «+ t1.x);
System.out.println(«t2.x: «+ t2.x);
System.out.println(«t3.x: «+ t3.x);
System.out.println(«t4.x: «+ t4.x);
}
}