演習課題「サブクラスからスーパークラスのインスタンスメソッドを上書きしてみよう」
右側のコードエリアには、 スーパークラスとして Job
クラスが用意されています。
このコードの Job
クラスにある、インスタンスメソッドの battle
メソッドを、サブクラスから上書きするコードを追加してください。
期待する出力値
勇敢にもスライムと戦っている
※有料会員になるとこの動画をご利用いただけます
詳しい説明を読む
#06:オーバーライド
このチャプターでは、オーバーライドについて学習します。
アノテーションを利用すると、メソッドなどに対して注釈をつけることができます。
アノテーションは @
から始まります。
アノテーションには様々な種類が用意されており、また自作することも可能です。
@Override
アノテーションが付与されたメソッドは、コンパイル時に正しくオーバーライドされているかチェックすることができます。
たとえば @Override
が付与されているにも関わらず、引数が異なるなどの理由でオーバーロードと解釈されてしまう場合にはコンパイルエラーが発生し、事前に検出が可能です。@Override
アノテーションは付与しなくても構いませんが、事前に誤りを検出することができるため、オーバーライド時には使用するのが良いでしょう。class Lion extends Animal {
public String habitat;
@Override
public void eat(String food) {
System.out.println("勢いよく" + food + "を食べました");
}
}
ログインすると採点できます
コードの実行