ビデオ: 【Javaプログラミング講座/オブジェクト指向 #5】継承②(継承とコンストラクタ/オーバーライド/protected/toStringメソッド) ※1.5倍速での再生を推奨 2024
サブクラスがJavaの基本クラスのパブリックメソッドと同じシグネチャを持つメソッドを宣言する場合、メソッド のサブクラスバージョンは基本クラスをオーバーライドしますメソッドのバージョン。この技法では、サブクラスのニーズに合わせて基本クラスの動作を変更できます。 Gameという名前の基本クラスがあり、playというメソッドがあるとします。特定のゲームを表さない基本クラスは、このメソッドを実装します:
<! Gameクラスを拡張するChessというクラスを宣言するだけでなく、playメソッドの実装も提供します:
public(パブリッククラスplay(){999} public class Game {クラスChess Game {public void play(){System。でる。;}}ここで、Chessオブジェクトのplayメソッドを呼び出すと、ゲームはそれを放棄したことを通知します。
メソッドをオーバーライドするには、次の3つの条件を満たす必要があります。
<! - 2 - >
クラスは、オーバーライドするメソッドを定義するクラスを拡張する必要があります。
このメソッドは、パブリックアクセスを持つ基本クラスで宣言する必要があります。プライベートメソッドをオーバーライドすることはできません。
サブクラスのメソッドは、基本クラスのメソッドと同じシグネチャを持っていなければなりません。言い換えれば、メソッドの名前とパラメーターの型は同じでなければなりません。