私はどの言語でもアクセス制御が大好きですが、Javaではアクセス修飾子(またはその不足)をpackage-privateで使用することはほとんどありません。Javaでpackage-privateはいつ使用しますか?
私は内部クラスはprivate
、protected
、またはpackage-private
することができますが、外側のクラスだけpackage-private
かpublic
ことができることを実現します。なぜ外部クラスはpackage-private
ですが、protected
はできませんか?クラス/メソッド/フィールドをパッケージ全体で見ることができるが、サブクラスでは見えないようにすることの利点は何ですか?