Я узнал, что класс может быть открытым или закрытым пакетом (последнее значение является значением по умолчанию). Поле класса также может быть открытым или закрытым пакетом. Эти «статусы» имеют одинаковое значение. Если что-то закрыто пакетом, оно видно только в одном пакете. Публично это видно везде (из любого пакета).Взаимодействие между видимостью класса и полей
Для меня не совсем ясно, как эти статусы взаимодействуют. В частности, у меня есть заинтересованность в следующих двух случаях:
Класс является общедоступным, но его поле является закрытым. Будет ли это поле видимым только изнутри пакета?
Класс является закрытым для пакета и имеет общественное поле. Где будет петь это поле?
В общем, я не понимаю, почему мы потрудились, если класс является общедоступным или пакет-частное, если, в любом случае, для любого отдельного компонента класса (поля и методы) мы указываем, если оно является публичным или пакет-частное.
Я думаю, что вы имели в виду «внутри одного пакета», а не «в пределах одного класса» в первом абзаце. –
@ Jon Skeet, вы правы. Спасибо за комментарий. – Roman