Java中方法覆盖
方法覆盖:
如果子类中定义一个方法,其名称、返回类型及参数签名正好与父类中某个方法的名称、返回类型及参数签名相匹配,那么可以说,子类的方法覆盖了父类的方法
代码:
父类
public class Figure {
double dim1;
double dim2;
public Figure() {
}
public Figure(double a,double b) {
dim1 = a;
dim2 = b;
}
double area(){
System.out.println("Inside area for figuer.");
return (dim1 * dim2);
}
}
子类
public class Rectangle extends Figure {
public Rectangle(double a,double b) {
super(a,b);
}
double area() {
System.out.println("Inside area for rectangle.");
return (dim1 * dim2);
}
}
测试类
public static void main(String[] args) {
Figure f = new Figure(10,10);
Rectangle r = new Rectangle(9, 5);
Figure figuref;
figuref = f;
System.out.println("Area is :"+figuref.area());
figuref = r;
System.out.println("Area is :"+figuref.area());
}
}
```结果:
![Java中方法覆盖的结果](https://img-blog.csdnimg.cn/20190520182517441.png)