Java如何使用方法計算一個數位的階乘值?

2019-10-16 22:30:20

在Java中,如何使用覆蓋子類繼承的方法?

此範例演示了具有不同數量和型別引數的子類覆蓋方法。

package com.yiibai;

public class MethodOverriding {
    public static void main(String[] agrs) {
        Figure f = new Figure(11, 12);
        Rectangle r = new Rectangle(19, 15);
        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 :132.0
Inside area for rectangle.
Area is :285.0