1 | アクセス修飾子はパケージ指定と組む合わせてアクセス制御機能を提供します パッケージ単位でアクセス制御可能 |
2 | メソッドのオーバーライドではアクセス修飾子は同じレベルか、より制限の緩いものでなければいけません |
3 | アクセス修飾子が異なってもオーバーロードではありません アクセス修飾子はシグネチャの対象外です。 |
4 | コンストラクタには全てのアクセス修飾子が指定可能です publicは、どのクラスからでも対象のクラスをインスタンス化できることを表します。 protectedや指定なし(デフォルト)は継承関係にあるサブクラスやパッケージ内のクラスだけが対象のクラスをインスタンス化できるように制限をかけます。 privateは非公開のコンストラクタを定義するために使います 非公開のコンストラクタの用途は、あるアプリケーション内でインスタンスが1つしかないことを保証したり、コンストラクタをオーバーロードして複数定義し、公開するコンストラクタと非公開にするコンストラクタに分ける(公開コンストラクタの中で非公開コンストラクタを呼ぶ)ためにも使います。 |
5 | インタフェースはコンパイラによって自動的にpublicで修飾されます インタフェースはほかのクラスからの「扱い方」を規定したものであり、ほかのクラスから扱えるようにしておく必要があります。規定なお、インタフェースに定義するメソッドは、protected やprivate で修飾することはできません。 |