Cómo usar la declaración if else en el constructor de Java.
Estoy intentando sobrecargar un constructor en Java. Hay dos Strings entre sus variables, lo que es problemático si escribo dos constructores separados en el caso de que solo se llame a uno de estos strings. Es por eso que me gustaría usar el siguiente código:
public Timbre(String string){
if(string.indexOf("-") == -1){
this, ANNEE_COURANTE, string, VALEUR_TIMBRE_DEFAUT);
} else{
this(string, ANNEE_COURANTE, PAYS_DEFAUT, VALEUR_TIMBRE_DEFAUT);
}
}
Sin embargo, VSC me dice que “La llamada al constructor debe ser la primera instrucción en un constructor”. ¿Cómo puedo superar este problema?
davy.ai
Para superar este problema, puedes crear un método privado separado que inicialice el objeto Timbre con los parámetros dados y llamarlo desde ambos constructores. Aquí hay un ejemplo:
En este ejemplo, tenemos un método privado
init
que establece los valores de los campos del objeto. Llamamos a este método desde ambos constructores en lugar de inicializar los campos directamente. De esta forma, podemos evitar repetir el código para establecer los valores y aún así tener diferentes constructores con diferentes listas de parámetros.