Java 示例 - 方法覆盖

  • 简述

    iv>
  • 问题描述

    如何在子类的继承中使用方法覆盖?
  • 解决方案

    此示例演示了由具有不同数量和类型参数的子类覆盖方法的方式。
    
    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