クラスメンバアクセス
出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2022/05/08 02:09 UTC 版)
「Javaの文法」の記事における「クラスメンバアクセス」の解説
クラスメンバとはフィールド、メソッド、コンストラクタ、クラス内で定義されたネストされたクラスのことである。アクセス制限が厳しいものから並べると、クラスメンバのアクセス修飾子は次の通り。 private – そのクラスからのみアクセス可能 (内部クラスからのアクセスを含む)。private宣言されたメンバはサブクラスによって引き継ぐことができない。 package-private (修飾子を省略した場合) – 同じパッケージ内の他クラスからもアクセス可能。 protected – 上に加え、パッケージ外の継承クラスからアクセス可能。 public – 任意のクラスからアクセス可能。 メソッドをオーバライドする際、そのメソッドのアクセス権を「より厳しく」することはできない。さもなくば親クラスのインタフェース契約を壊してしまうからである。したがってオーバライドされる場合、publicメソッドはpublicとして宣言されねばならず、protectedメソッドをデフォルトアクセス権(修飾子省略)とすることはできない。しかしながら、メソッドをオーバライドしてアクセス権を「より緩める」ことは許される。したがってオーバライドする際、デフォルト (パッケージ) アクセス権のメソッドはprotectedまたはpublicとして宣言することができ、protectedメソッドはpublicとして宣言することができる。
※この「クラスメンバアクセス」の解説は、「Javaの文法」の解説の一部です。
「クラスメンバアクセス」を含む「Javaの文法」の記事については、「Javaの文法」の概要を参照ください。
- クラスメンバアクセスのページへのリンク