Java中方法重写与重载有什么区别-面试常考问题-创新互联

这篇文章主要介绍“Java中方法重写与重载有什么区别-面试常考问题”,在日常操作中,相信很多人在Java中方法重写与重载有什么区别-面试常考问题问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Java中方法重写与重载有什么区别-面试常考问题”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!

创新互联坚持“要么做到,要么别承诺”的工作理念,服务领域包括:成都做网站、网站制作、企业官网、英文网站、手机端网站、网站推广等服务,满足客户于互联网时代的万柏林网站设计、移动媒体设计的需求,帮助企业找到有效的互联网解决方案。努力成为您成熟可靠的网络建设合作伙伴!

Java中方法重写与重载的区别

重 写

重 载

子类方法对父类方法的覆盖

同一个类中同名方法的重载(同一类包括从父类继承的方法)

方法名相同且参数个数类型顺序相同

参数个数或类型顺序至少满足一点不同

只允许访问权限更宽松

访问权限任意

返回值类型若是基本类型则不允许不同;若是复合类型则在子类与父类间必须至少存在继承关系

返回值类型任意

final修饰的父类,子类不能重写,反之可以

final任意

静态方法与实例方法不能互相重写

任意

构造方法不能被重写

构造方法可以重载,任意

一句话描述清楚:

  • 重写注解:@Override

  • 重载注解:@Overload

方法的重载是方法名相同,方法返回值和修饰符可以不同,方法的形式参数增加或减少,同名方法根据不同传参来处理不同逻辑

方法的重写是方法名相同,方法返回值相同,修饰符相同.方法的形式参数相同,方法体被重写,方法体中的代码功能有所不同,子类对父类方法重新改造,外部样子不能改变,内部逻辑可以改变

代码示例:

方法重写

 public void hello(String name){
 System.out.println("你好" + name);
 }
 
 //重写了hello方法,方法体中的代码实现的功能已改变
 public void hello(String name){
 System.out.println("你好,我叫" + name);
 }

方法重载

public void hello(String name){
 System.out.println("你好" + name);
 }
 
 //形式参数不同,实现的逻辑不同
 public void hello(String name,int age){
 System.out.println("你好我叫" + name + "今年" + age + "岁");
 }
 
 //形式参数不同,实现的逻辑不同,并且方法返回值不同,且修饰符不同
 private String hello(String name,int age,String sex){
 return "你好我叫" + name + "今年" + age + "岁"+"性别"+sex;
 }

到此,关于“Java中方法重写与重载有什么区别-面试常考问题”的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注创新互联网站,小编会继续努力为大家带来更多实用的文章!


网站题目:Java中方法重写与重载有什么区别-面试常考问题-创新互联
本文路径:http://hbruida.cn/article/cshcei.html