前面章节中我们已经学习了 Java 方法的重写,本文我们来看下 Java 方法覆盖的实现。
方法重载与方法覆盖区别如下:
以下实例演示了 Java 方法覆盖(Overriding)代码的实现:
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 |