详解Java中方法重写与重载的区别(面试高频问点)

作者:悟_dskq 时间:2022-07-19 10:36:48 

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;
}

来源:https://www.cnblogs.com/wudskq/archive/2021/03/11/14515128.html

标签:Java,方法,重写,重载
0
投稿

猜你喜欢

  • Android ScrollView实现下拉弹回动画效果

    2023-04-27 20:31:46
  • C# 抓图服务的实现

    2023-04-03 20:10:12
  • SpringBoot如何实现word文档转pdf

    2023-04-19 09:33:55
  • Mybatis配置错误:java.lang.ExceptionInInitializerError

    2021-12-31 16:58:59
  • Spring Data JPA 之 JpaRepository的使用

    2023-11-24 21:23:40
  • C#+无unsafe的非托管大数组示例详解(large unmanaged array in c# without ‘unsafe’ keyword)

    2021-06-07 13:33:55
  • Java详解Swing中的几种常用按钮的使用

    2023-12-04 21:44:30
  • C#实现QQ截图功能及相关问题

    2022-10-30 08:47:01
  • Java Mybatis中的 ${ } 和 #{ }的区别使用详解

    2021-07-02 22:35:27
  • Java循环对bean的属性进行赋值的实现

    2023-01-27 10:18:05
  • C/C++中typedef的用法大全

    2023-02-11 08:57:47
  • java实现静默安装apk

    2023-08-31 08:11:34
  • SpringBoot工程搭建打包、启动jar包和war包的教程图文详解

    2022-05-04 22:09:10
  • Android实现在一个activity中添加多个listview的方法

    2023-10-13 14:41:22
  • Kotlin 协程与挂起函数及suspend关键字深入理解

    2023-09-19 01:04:25
  • Android绘制机器人小实例

    2022-12-04 00:12:42
  • C#启动进程的几种常用方法

    2023-06-18 04:13:48
  • C#读取目录下所有指定类型文件的方法

    2023-05-01 10:59:14
  • 深入理解Java设计模式之享元模式

    2023-11-10 17:20:51
  • Java加载property文件配置过程解析

    2023-10-07 07:53:03
  • asp之家 软件编程 m.aspxhome.com