Java FAQ
|
|
スーパークラスのメソッドと同一シグネチャのメソッド(返却値型・仮引数の個数と型が同じメソッド)を同一名でサブクラスに宣言することです。
日本語でいえば上書きです。
クラスSuperで宣言されたインスタンスメソッドmを、クラスSubで宣言m'としてオーバライドするのは、以下の条件がともに成立する場合です。
- SuperはSubの下位クラスである。
- 以下のいずれかが成立する。
- m'は、非privateであり、かつSuperからアクセス可能である。
- mはメソッドm''をオーバライドし、m''はmと異なり、m''はm'と異なり、m''はm'を上書きする。
なお、mがabstractでなければ、『m'は、オーバライドするabstractメソッドのあらゆる宣言を実装する(implement)』といいます。
インスタンスメソッドがstaticメソッドをオーバライドすると、コンパイル時エラーが発生します。