2021-04-18 15:39  阅读(111)
文章分类:Java 基础实战 文章标签:JavaJava 教程
©  原文作者:w3cschool 原文地址:https://www.w3cschool.cn/java/java-examples.html

前面章节中我们已经学习了 ,本文我们来看下 Java 方法覆盖的实现。

方法重载与方法覆盖区别如下:

  • **方法重载(Overloading):**如果有两个方法的方法名相同,但参数不一致,哪么可以说一个方法是另一个方法的重载。
  • **方法覆盖(Overriding):**如果在子类中定义一个方法,其名称、返回类型及参数签名正好与父类中某个方法的名称、返回类型及参数签名相匹配,那么可以说,子类的方法覆盖了父类的方法。

以下实例演示了 Java 方法覆盖(Overriding)代码的实现:

    /*
     author by w3cschool.cn
     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
    
点赞(0)
版权归原创作者所有,任何形式转载请联系作者; Java 技术驿站 >> Java 实例 – 方法覆盖
上一篇
Java 实例 – 阶乘
下一篇
Java 实例 – instanceOf 关键字用法