メソッドを置き換える
クラスを継承することによりプログラムの流用性が高まります。さらに向上させるための仕組みがあります。プログラムを例に紹介します。クラスChildに10行目~13行目を追加してください。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
package step11; public class Child extends Parent{ public void child01() { System.out.println("child01"); } public void child02() { System.out.println("child02"); } @Override public void parent02() { System.out.println("child-parent02"); } } |
入力が終了したなら実行してください。
さきほどまでクラスParentのメソッドparent02が実行されていましたが、プログラムを修正するとクラスChildのparent02が実行されました。これはクラスChildにクラスParentと同名のメソッドを記述したので、クラスChildのメソッドが実行されたのです。このように継承元クラスのメソッドを継承先で記述することをオーバーライドと言います。
10行目の「@Override」はこれからオーバーライドが始まることをJavaに知らせる命令です。
10 |
@Override |
なにが便利?
オーバーライドを使うと必ずしも継承元のメソッドを利用する必用がなくなります。これでより柔軟に継承が行われます。