对比方法的重载与重写
发布日期:2021-06-29 17:04:46 浏览次数:2 分类:技术文章

本文共 456 字,大约阅读时间需要 1 分钟。

方法重载和方法重写(覆盖)是面向对象中两个重要概念,其实这两个概念之间没有什么关系,但是毕竟都是关于方法的,毕竟容易引起混淆。对此我也做了一些归纳,感觉能够把这两个概念很好的区分开。我打算从总体区别、细节区别两个方面来说明。

总体的区别:最主要的区别,是解决的问题不同,即作用不同。

细节的区别:一个方法的声明自左向右包括权限修饰符、方法返回值、方法名、参数列表、抛出的异常类型等。下面从这几方面说明区别

 

重载实例:构造方法重载、println()方法重载

重写实例:Object类的toString()、equals()、hashCode()等都可以被子类重写

可选

  1. 某些方法使用final修饰,将无法被重写。比如Object类的wait()、notify()等
  2. 静态方法无法进行方法重写。在Java中,如果父类中含有一个静态方法,且在子类中也含有一个返回类型、方法名、参数列表均与之相同的静态方法,那么该子类实际上只是将父类中的该同名方法进行了隐藏,而非重写。添加@override注解将会报错。

转载地址:https://superman.blog.csdn.net/article/details/108739300 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:js,jq获取窗口高宽
下一篇:网站无法下载apk文件,请求失败(错误)404

发表评论

最新留言

逛到本站,mark一下
[***.202.152.39]2024年05月02日 04时56分21秒