Я понимаю, что это очень простой вопрос, но он всегда беспокоил меня. Как я понимаю, если вы объявите поле private в Java, то оно не будет видно за пределами этого класса. Если он защищен, то он доступен для унаследованных классов и всего в одном пакете (поправьте меня, если какое-либо из этих определений неверно).
Означает ли это, что невозможно объявить поле, которое доступно только унаследованным классам, а не другим не наследуемым классам в одном пакете?
Я ценю, что есть способы обойти это, но есть ли случаи, когда вы хотели бы иметь такое поведение?
Очевидно, что вышеупомянутый вопрос относится как к методам, так и к полям.
Большое спасибо.