Java サンプル - メソッドのオーバーライド

Java 实例Java サンプル

前の章で既に学習しましたJava メソッドのオーバーロード、本稿では Java メソッドのオーバーライドの実装を見ていきます。

メソッドのオーバーロードとオーバーライドの違いは次のとおりです:

  • メソッドのオーバーロード(Overloading):2つのメソッドのメソッド名が同じで、パラメータが異なる場合、一方のメソッドは他方のメソッドのオーバーロードであると言えます。
  • メソッドのオーバーライド(Overriding):サブクラスで定義したメソッドの名前、戻り値の型、パラメータシグネチャが、スーパークラスのあるメソッドの名前、戻り値の型、パラメータシグネチャと正確に一致する場合、サブクラスのメソッドがスーパークラスのメソッドをオーバーライドすると言えます。

以下のサンプルは、Java メソッドのオーバーライド(Overriding)コードの実装を示しています。

Findareas.java ファイル

public class Findareas{ public static void main (String []agrs){ Figure f= new Figure(10 , 10); Rectangle r= new Rectangle(9 , 5); Figure figref; figref=f; System.out.println("Area is :"+figref.area()); figref=r; System.out.println("Area is :"+figref.area()); } } class Figure{ double dim1; double dim2; Figure(double a , double b) { dim1=a; dim2=b; } Double area() { System.out.println("Inside area for figure."); return(dim1*dim2); } } class Rectangle extends Figure { Rectangle(double a, double b) { super(a ,b); } Double area() { System.out.println("Inside area for rectangle."); return(dim1*dim2); } }

上記のコードを実行した出力結果は次のとおりです:

Inside area for figure.
Area is :100.0
Inside area for rectangle.
Area is :45.0

Java 实例Java サンプル

その他の拡張