「オーバーライドと隠蔽」の編集履歴(バックアップ)一覧はこちら
「オーバーライドと隠蔽」(2011/09/22 (木) 16:30:08) の最新版変更点
追加された行は緑色になります。
削除された行は赤色になります。
#right(){[[( BACK )>Java関連メモ]]}
private なメンバは同一クラス内からしかアクセスできないので
オーバーライドできない。
ただし、まったく新たなメンバーとして定義が可能です。
その際、以下のようなオーバーライドの条件の制限を受けない。
・オーバーライドの条件
1.戻り値型が一致しなければならない
2.throws 節が競合してはならない
3.アクセス修飾子は、同じか、アクセス制限を緩めるものでなければならない
※満たさない場合はコンパイルエラー
・staticなメソッドの再定義(隠蔽)
スーパークラスの static メソッドをサブクラスの static メソッドで再定義することを隠蔽と言う。
非static <-> static 間の再定義はできない(コンパイルエラー)
&font(#FF0000){※メンバ呼び出し時、オーバーライドは動的束縛が適用されるが、隠蔽は静的束縛が適用される。}
#back(text=戻る,right)
private なメンバは同一クラス内からしかアクセスできないので
オーバーライドできない。
ただし、まったく新たなメンバーとして定義が可能です。
その際、以下のようなオーバーライドの条件の制限を受けない。
・オーバーライドの条件
1.戻り値型が一致しなければならない
2.throws 節が競合してはならない
3.アクセス修飾子は、同じか、アクセス制限を緩めるものでなければならない
※満たさない場合はコンパイルエラー
・staticなメソッドの再定義(隠蔽)
スーパークラスの static メソッドをサブクラスの static メソッドで再定義することを隠蔽と言う。
非static <-> static 間の再定義はできない(コンパイルエラー)
&font(#FF0000){※メンバ呼び出し時、オーバーライドは動的束縛が適用されるが、隠蔽は静的束縛が適用される。}