zoukankan      html  css  js  c++  java
  • java重写与重载的区别

    override(重写) :即把改方法重新写一次,内部逻辑可变,外壳不变,核心重写

        1. 方法名、参数、返回值相同。  

        2. 子类方法不能缩小父类方法的访问权限。

        3. 子类方法不能抛出比父类方法更多的异常(但子类方法可以不抛出异常)。

        4. 存在于父类和子类之间,构造方法不能被重写。

        5. 方法被定义为final不能被重写。

        6. 申明为static的方法不能重写,但能够被再次申明。

        7. 子类调用父类被重写的方法,super.方法名。

    overload(重载):内部逻辑没变,只是传入的参数可以有所改变,

        1. 参数类型、个数、顺序至少有一个不相同,保证独一无二。

        2. 不能重载只有返回值不同的方法名。

        3. 存在于父类和子类、同类中。

        4. 可以申明新的或者更广泛的异常。

        5. 可以改变访问修饰符

    总结

    方法的重写(Overriding)和重载(Overloading)是java多态性的不同表现,重写是父类与子类之间多态性的一种表现,重载可以理解成多态的具体表现形式。

    • (1)方法重载是一个类中定义了多个方法名相同,而他们的参数的数量不同或数量相同而类型和次序不同,则称为方法的重载(Overloading)。
    • (2)方法重写是在子类存在方法与父类的方法的名字相同,而且参数的个数与类型一样,返回值也一样的方法,就称为重写(Overriding)。
    • (3)方法重载是一个类的多态性表现,而方法重写是子类与父类的一种多态性表现。
  • 相关阅读:
    Web前端浏览器兼容性问题及解决方案
    JS
    vue element-ui 重置样式问题
    学习的一些文章链接
    打开新世界的第一步:学习servlet
    java学习初体验之课后习题
    下载、安装jdk8(Windows下)并配置变量环境
    下载PhpStorm并进行激活
    WCF+NHibernate 序列化
    wcf 证书+ssl+自定义用户名密码
  • 原文地址:https://www.cnblogs.com/horken/p/10706143.html
Copyright © 2011-2022 走看看