A menudo, para evitar escribir código de inicialización duplicado, es necesario llamar el código de un constructor desde otro.
A continuación se muestra un ejemplo de cómo se puede hacer esto:
public class SomeClass {
int a;
int b;
int c;
public SomeClass(int a, int b){
this.a = a;
this.b = b;
}
public SomeClass(int a, int b, int c){
// Вызов конструктора с двумя параметрами.
this(a, b);
this.c = c;
}
public void show(){
System.out.println("a = " + a);
System.out.println("b = " + b);
System.out.println("c = " + c);
}
}
Como ves, para ello utilizamos la palabra clave this
, tras la cual indicamos entre paréntesis los parámetros para el constructor correspondiente (con dos parámetros en este caso). Puedes llamar a un constructor desde otro en la misma clase, o en una superclase, con las siguientes restricciones:
- El constructor que se llamará debe estar en la primera línea de código del constructor que llama.
- Un constructor anidado no puede tener ninguna referencia explícita o implícita a "esto". Entonces no puedes entrar en la clase interna.
GO TO FULL VERSION