Java には、、、、package-private (デフォルト)、および のpublic
4つのアクセス指定子があります。これはよく知られており、私にとっては問題ではありません。protected
private
のネーミングについて質問ですprotected
。ここの表に示されているように、フィールドに package-private のデフォルト アクセス指定子を指定すると、パッケージ外のサブクラスがそのフィールドを使用できなくなりますが、キーワードを適用しprotected
ても実際には保護されません。任意のパッケージ。
では、なぜprotected
物事を保護しないのでしょうか。修飾子がまったくないよりも制限が少ないのはなぜですか?