Toda la pregunta está en el título. Por ejemplo:¿Por qué los constructores enum no pueden ser protegidos o públicos en Java?
enum enumTest {
TYPE1(4.5, "string1"), TYPE2(2.79, "string2");
double num;
String st;
enumTest(double num, String st) {
this.num = num;
this.st = st;
}
}
El constructor está muy bien con el valor predeterminado o private
modificador, pero me da un error de compilación si se dan las public
protected
o modificadores.
Tiene mucho sentido. Pero entonces, ¿por qué debería permitirse "default"? Porque entonces otras clases en el mismo paquete pueden invocar también al constructor. –
@Anita, ¿está seguro de que está permitido? – jjnguy
Sí.Recopilé y ejecuté la muestra del código en el PO. Sin errores. Pero lo curioso es que aún no puedo llamar manualmente al constructor, incluso de manera predeterminada. Pensé que, por defecto, siempre que estés en el mismo paquete, ¿puedes acceder a él? ¿Me estoy perdiendo algo grande aquí? –