zoukankan      html  css  js  c++  java
  • Java:Java的重写与重载区分

    最明显的区别为:重写只存在于子类与父类中重载存在于一个类中

    具体区别如下:

    一、重写(override)

    override是重写(覆盖)了一个方法,以实现不同的功能。一般是用于子类在继承父类时,重写(重新实现)父类中的方法

    重写(覆盖)的规则:

    1、重写方法的参数列表必须完全与被重写的方法的相同,否则不能称其为重写而是重载.

    2、重写方法的访问修饰符一定要大于被重写方法的访问修饰符(public>protected>default>private)。

    3、重写的方法的返回值必须和被重写的方法的返回一致

    4、重写的方法所抛出的异常必须和被重写方法的所抛出的异常一致,或者是其子类

    5、被重写的方法不能为private,否则在其子类中只是新定义了一个方法,并没s有对其进行重写。

    6、静态方法不能被重写为非静态的方法(会编译出错)。

    二、重载(overload

    重载是定义本类不同参数的构造方法,一般是用于在一个类内实现若干重载的方法,这些方法的名称相同而参数形式不同

    重载的规则:

    1、在使用重载时只能通过相同的方法名、不同的参数形式实现。可以是不同的参数类型,不同的参数个数,不同的参数顺序(参数类型必须不一样);

    2、不能通过访问权限、返回类型、抛出的异常进行重载

    3、方法的异常类型和数目不会对重载造成影响

    文章转载至:https://www.jianshu.com/p/c69aa573b93f

     
     
     
     
     
  • 相关阅读:
    转载集合
    TYVJ P1053 字符串的展开 Label:字符 水
    划分数系列问题
    关于inf的问题
    TYVJ P1031 热浪 Label:dijkstra 最短路
    TYVJ P1032 零用钱 Label:贪心
    如何简单形象又有趣地讲解神经网络是什么?知乎
    CString
    利用afxDump来调试自己的程序
    mfc 调试 弹消息
  • 原文地址:https://www.cnblogs.com/nhdlb/p/12162886.html
Copyright © 2011-2022 走看看