Java のメソッドのオーバーロードとメソッドのオーバーライドの間には多くの違いがあります。メソッドのオーバーロードとメソッドのオーバーライドの違いのリストを以下に示します。
いいえ。 | メソッドのオーバーロード | メソッドのオーバーライド |
---|---|---|
1) | メソッドのオーバーロードが使用されている 可読性を高めるために プログラムの。 | メソッドのオーバーライドが使用されます 具体的な実装を提供するため スーパークラスによってすでに提供されているメソッドの。 |
2) | メソッドのオーバーロードが実行される クラス内で 。 | メソッドのオーバーライドが発生する 2つのクラスで IS-A (継承) 関係があるもの。 |
3) | メソッドのオーバーロードの場合、 パラメータは異なる必要があります 。 | メソッドをオーバーライドする場合、 パラメータは同じである必要があります 。 |
4) | メソッドのオーバーロードは次の例です。 コンパイル時のポリモーフィズム 。 | メソッドのオーバーライドは次の例です。 実行時のポリモーフィズム 。 |
5) | Javaでは、メソッドの戻り値の型だけを変更してメソッドのオーバーロードを行うことはできません。 戻り値の型は同じでも異なるでも構いません メソッドのオーバーロードで。ただし、パラメータを変更する必要があります。 | 戻り値の型は同じか共変でなければなりません メソッドのオーバーライドで。 |
Java メソッドのオーバーロードの例
class OverloadingExample{ static int add(int a,int b){return a+b;} static int add(int a,int b,int c){return a+b+c;} }
Java メソッドのオーバーライドの例
class Animal{ void eat(){System.out.println('eating...');} } class Dog extends Animal{ void eat(){System.out.println('eating bread...');} }