How to use method overriding in Inheritance for subclasses using Java



Problem Description

How to use method overriding in Inheritance for subclasses?

Solution

This example demonstrates the way of method overriding by subclasses with different number and type of parameters.

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);
   }
}

Result

The above code sample will produce the following result.

Inside area for figure.
Area is :100.0
Inside area for rectangle.
Area is :45.0
java_methods.htm
Advertisements