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