在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