Całe pytanie jest w tytule. Na przykład:Dlaczego nie można wyliczać konstruktorów jako chronionych lub publicznych w Javie?
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;
}
}
Konstruktor jest w porządku z niewykonania lub private
modyfikatora, ale daje mi błąd kompilatora, jeśli biorąc pod uwagę public
lub protected
modyfikatory.
To ma wiele sensu. Ale dlaczego miałby być dozwolony "domyślny"? Ponieważ wtedy inne klasy w tym samym pakiecie również mogą wywoływać konstruktora. –
@Anita, czy jesteś pewien, że domyślne ustawienie jest dozwolone? – jjnguy
Tak.Skompilowałem i przetestowałem próbkę kodu w OP. Bez błędów. Ale dziwne jest to, że nadal nie mogę ręcznie wywołać konstruktora, nawet z domyślnymi ustawieniami. Myślałem, że domyślne oznacza tak długo, jak jesteś w tym samym pakiecie, masz do niego dostęp? Czy tu brakuje czegoś dużego? –