この記事の目次
1. オーバーロード
● 概念
● 例題
オーバーロードの例題
package helloworld; public class HelloWorld { public static void main(String[] args) { self("青山"); self("青山", 18); } static void self(String name) { System.out.println("私は" + name + "です"); } static void self(String name, int age) { System.out.println("私は" + name + "です。" + age + "歳です。"); } }
実行結果:
私は青山です 私は青山です。18歳です。
2. オーバーライドとは
● オーバーライドとは
● オーバーライドのメリット
● 例題
オーバーライドの例題
package helloworld; // スーパークラス class ClassSuper { int a = 10; int b = 2; public void calc(){ System.out.println("a + b = " + (a + b)); } } //サブクラス class ClassSub extends ClassSuper{ @Override public void calc(){ super.calc(); // 処理を変更 System.out.println("a - b = " + (a - b)); System.out.println("a * b = " + (a * b)); System.out.println("a / b = " + (a / b)); } } public class HelloWorld { public static void main(String[] args) { ClassSub ab = new ClassSub(); ab.calc(); } }
実行結果:
a + b = 12 a - b = 8 a * b = 20 a / b = 5
super
句を使うことで、スーパークラスであるClassSuperクラスのcalcメソッドのそれと一致します。つまり、サブクラスでオーバーライドしていてもスーパークラスのメソッドをそのまま使うことができます。3. オーバーライドの規定
● @Override(アノテーション)
● 戻り型とシグネチャ
● アクセスレベル
メソッドの頭部について詳しく見たい方:
メソッドの頭部 ../../../java/java-method-basic.html?goto=2to1 メソッドとは複数の文をまとめ、それを1つの処理として名前をつけたもので、部品の最小単位です。この記事ではJAVAのメソッドの概念、メリット、・・・ |
● throw
● final修飾子
スーパークラス側のメソッドにfinal修飾子が付与されている場合は、サブクラスでそのメソッドのオーバーライドはできません。
● abstract修飾子
スーパークラス側のメソッドにabstract修飾子が付与されている場合は、サブクラスでは必ずオーバーライドする必要があります。オーバーライドしない場合はそのサブクラス全体がabstractクラスになります。
4. 演習問題
オーバーロードとオーバーライドの演習問題
広告