在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