アクセス修飾子とは、クラス・フィールド・メソッドの定義をするときに、クラス名・フィールド名・メソッド名の前に付ける修飾子で、アクセスできる範囲を指定する修飾子のことを言う。

アクセス修飾子には以下の3種類がある。
アクセス修飾子 アクセスできる範囲
pubilc 外部クラス(任意のパッケージの任意のクラス)及びこの修飾子を用いてクラスやフィールド、メソッドを定義・宣言したクラス内部からアクセスできる
protected 同じパッケージのクラス及びこのクラスのサブクラス、この修飾子を用いてクラスやフィールド、メソッドを定義・宣言したクラス内部からのみアクセスできる
private この修飾子を用いてクラスやフィールド、メソッドを定義・宣言したクラス内部からのみアクセスできる
指定なし 同じパッケージのクラス、及びこのクラスやフィールド、メソッドを定義・宣言したクラス内部からのみアクセスできる

【注意】アクセス修飾子を同時に2つ以上指定することはできない。指定した場合、コンパイルエラーが起こる。

アクセス修飾子の指定におけるアクセス範囲

public protected 指定なし private
定義・宣言したクラス
同じパッケージ ×
サブクラス × ×
上記以外 × × ×

「フィールドの宣言」の「publicとprivateの違い」のアニメーションを見よう。