Java 重写(Override)与重载(Overload)的区别
重写(Override)与重载(Overload)
相同点
方法名都是一样的
重写(Override)
关系到两个类:子类,父类
当父类中有一个方法不合你的心意的时候,你可以重新编写这个方法
但是!
只能重写这个方法的过程!返回值和形参都不能变!
比如说
这里有一个类
public class Father {
public void Test01(){
System.out.println("瞎写的");
}
}
我觉得这个类的方法写得不行
我建了一个类继承他,这样他就是我的父类了,我就能重写他的方法
public class Son extends Father{
public void Test01(){
System.out.println("不能瞎写");
}
}
重载(Overload)
在一个类下定义了多个方法名相同,而他们的参数不同
调用的时候,根据所提供的的参数类型,来决定调用的方法是哪一个
比如说,我这里有一个类
public class School {
public void Student(){
System.out.println("我叫张三");
}
public void Student(int num){
System.out.println("我叫李四");
}
}
好比一个学校,学校里都是学生,那你要怎么找到某一个学生呢,那就通过甲方传过来的要求来找
像上面这段代码,当我调用的方法没有参数的时候,则调用第一个Student()
而当我调用的方法有参数的时候,则使用第二个Student(int num)
这就是方法的重载
有一张图我觉得很形象,在下面贴出来看一下吧
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 【自荐】一款简洁、开源的在线白板工具 Drawnix