详解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