栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

方法重写和方法重载的区别——面试题

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

方法重写和方法重载的区别——面试题

方法重写(@Override)

        ——发生在继承中,超类与派生类中。

遵循“两同两小一大”原则

“两同”:方法名相同,参数类型相同,方法体不同。(方法签名:方法名+参数)

“两小”:

子类(派生类)方法返回类型小于等于父类(超类)方法返回类型

  1. 返回值为void(无参)时,返回值类型必须相同
  2. 基本数据类型返回值类型必须相同
  3. 引用数据类型

派生类抛出异常小于等于超类方法抛出异常[1] 

“一大”:

派生类访问权限大于等于超类方法返回权限[2] 

方法重写是“运行期绑定”:

         编译.java文件时,假如.class字节码中保存的是一个类中的某个方法,但是在加载运行.class文件时,底层先去查看是否存在方法重写,有:那么运行重写后的方法,没有:运行原方法。

方法重载(@OverLoad)

方法重载:同一类中,方法名相同,参数列表不同,方法体不同,与返回值类型及参数名无关

方法重载是“编译期绑定”:

        在绑定的时候看对象的绑定类型,当引用与对象是同一类中,编译.java文件时就已经确定了需要执行哪个方法

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/756374.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号