>> Java入門トップに戻る
Javaのメソッドのオーバーライドについて説明します。
メソッドの「オーバーライド」とは、親クラスで既に定義されているメソッドを子クラス側で再定義(上書き)することを言います。
以下のコードを見てください。
親クラス側では「Hello!」と出力するのに対し、小クラス側では「こんにちは!」と出力するように定義しています。
そして、6行目でChildクラスのインスタンスを作成し、8行目でechoHelloメソッドを呼び出しています。
この時、小クラス側のechoHelloメソッドが実行され「こんにちは!」とコンソールに出力されます。
このように、親クラスで定義されたメソッドを子クラス側で同じ名前で定義することで、メソッドの内容を書き換える(上書きする)ことが出来ます。
これからクラスの継承を頻繁に使うことになりますが、その際もよくオーバーライドするので、しっかりと覚えておいてください。
>> 【抽象クラス abstract修飾子】に進む
>> Java入門トップに戻る
メソッドのオーバーライド
メソッドの「オーバーライド」とは、親クラスで既に定義されているメソッドを子クラス側で再定義(上書き)することを言います。
以下のコードを見てください。
package test2; public class Override_Test { public static void main(String[] args) { Child obj = new Child(); obj.echoHello(); } } class Child extends Parent{ @Override public void echoHello(){ System.out.println("こんにちは!"); } } class Parent{ public void echoHello(){ System.out.println("Hello!"); } }親クラスParentで定義しているechoHelloメソッドを子クラスChildでも同じ名前で定義しています。
親クラス側では「Hello!」と出力するのに対し、小クラス側では「こんにちは!」と出力するように定義しています。
そして、6行目でChildクラスのインスタンスを作成し、8行目でechoHelloメソッドを呼び出しています。
この時、小クラス側のechoHelloメソッドが実行され「こんにちは!」とコンソールに出力されます。
このように、親クラスで定義されたメソッドを子クラス側で同じ名前で定義することで、メソッドの内容を書き換える(上書きする)ことが出来ます。
これからクラスの継承を頻繁に使うことになりますが、その際もよくオーバーライドするので、しっかりと覚えておいてください。
>> 【抽象クラス abstract修飾子】に進む
>> Java入門トップに戻る