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