zoukankan      html  css  js  c++  java
  • Java override 和 overload 的区别和联系

    方法的重写(Overriding)和重载(Overloading)是Java多态性的不同表现。重写(Overriding)是父类与子类之间多态性的一种表现,而重载(Overloading)是一个类中多态性的一种表现。
    如果在子类中定义某方法与其父类有相同的名称和参数,我们说该方法被重写 (Overriding)。子类的对象使用这个方法时,将调用子类中的定义,对它而言,父类中的定义如同被"屏蔽"了。
    如果在一个类中定义了多个同名的方法,它们或有不同的参数个数或有不同的参数类型或有不同的参数次序,则称为方法的重载(Overloading)。不能通过访问权限、返回类型、抛出的异常进行重载.

    overload(重载):
    是在同一个类中,方法名相同,参数的个数、顺序、类型不同的方法(注意跟返回值没有关系)

    覆盖是父与子的关系,是子的把父的给隐藏了,重载是在一个类中,方法名相同,但参数的个数和类型至少有一项不同,调用的时候会根据参数找到对应的方法

    如:

    public void getA(){
    }
    public void getA(int a){
    }


    override(覆盖):
    这个覆盖只出现在父类与子类之间,也称作 重写,
    也就是说一个A类继承B类,B类中有一个方法
    如:
    B类中:

     public void getC(){
    }


    而A类继承B类,
    同样有一个getC方法,并且有override关键字修饰
    即:

    @Override
    public void getC(){
    }


    这样就称作方法的 覆盖 或 重写

  • 相关阅读:
    编码问题
    Linux环境给文件重命名
    FIFO简记
    图像去模糊
    matlab直方图均衡,使用向量优化
    研究方向
    FPGA学习笔记之格雷码、边沿检测、门控时钟
    [转]关于凸优化的一些简单概念
    SSD果然劲爆!
    Qunie问题
  • 原文地址:https://www.cnblogs.com/aspirant/p/6884777.html
Copyright © 2011-2022 走看看