重载(overLoad)与重写(override)的区别与详解

简介: 重载(overLoad)与重写(override)的区别与详解

1.1 方法重写和重载的区别

:rocket:请看表格对比

名称 发生范围 方法名 形参列表 返回类型 修饰符
重载(overload) 本类 必须一样 类型、个数、顺序至少有一个不同 无要求 无要求
重写(override) 父子类 必须一样 相同 子类重写的方法,返回类型和父类一样或者是父类的子类 子类方法不能缩小父类方法的访问范围

:rocket::rocket::rocket:如果你基础比较好,面向对象思想掌握的比较扎实,那你应该已经看懂了吧;
:rocket::rocket::rocket:如果还有疑问,请看下面更加详细的知识点和代码示例吧。

:airplane::airplane::airplane:

2.1 方法重载(OverLoad)

==相同的方法名字,参数列表不同,调用也就不同==
例如(以下四个方法均构成重载):

//1号方法
public sum (int a,int b){
    return a + b;
}
//2号方法
public sum (int a,int b,int c){
    return a + b + c;
}
//3号方法
public sum (int a,int c,int b,){
    return a + b + c;
}
//4号方法
public sum (int a,double c,int b,){
    return a + b + c;
}
2.1.1方法重载使用细节:
  1. 方法名:必须相同。
  2. 形参列表:必须不同(形参类型&&个数&&顺序,至少有一样不同,参数名无要求)。
  3. 返回值无要求。(3号方法返回值类型为int;4号方法返回值为double)
  4. 在调用sum()方法时,根据参数列表来自己匹配合适的方法。

:airplane::airplane::airplane:

2.2 方法重写/覆盖(override)

发生在继承中,子类有一个方法,和父类的某个方法名称、返回类型、参数一样,即子类方法重写了父类方法

2.2.1方法重写使用细节:
  1. 子类的方法的参数、方法名称要和父类完全一样
  2. 子类的方法返回类型和父类一样或者是父类返回类型的子类(例如:父类为Object子类为String)
  3. 子类方法不能缩小父类方法的访问权限。
//Dog父类
class Dog{
public feed(){
     System.out.print("喜欢吃骨头");
}
//Teddy(泰迪)子类
}
class Teddy extends Dog{
public feed(){
     System.out.print("喜欢吃面条");
}
}

主类中实例化一个泰迪

Teddy wangwang = new Teddy;
wangwang.feed();//

以上有两个feed方法,因为子类Teddy类中的feed()重写了父类Dog中的feed(),所以这里输出的就是“喜欢吃面条”。
以上就是重载与重写的区别与详细描述了!

:car::car::car:肯定有人问:我的泰迪有时候喜欢吃面条,也有时候吃骨头,那我能不能让Teddy(泰迪)类也调用父类中的feed()方法呢?
:bullettrain_side::bullettrain_side::bullettrain_side:敬请期待下节的==多态中的向上转型与向下转型==

相关文章
复选框样式修改(复选框变为圆形)
复选框样式修改(复选框变为圆形)
|
存储 调度 块存储
阿里云连续两年斩获全球存储顶会FAST最佳论文
阿里云连续两年斩获全球存储顶会FAST最佳论文
1107 0
|
12月前
|
JavaScript 容器
带方向感知功能的js图片遮罩层插件
带方向感知功能的js图片遮罩层插件
|
存储 算法 异构计算
GGML 非官方中文文档(5)
GGML 非官方中文文档
397 1
|
运维 监控 数据中心
100Base-FX以太网媒体标准详解
【10月更文挑战第16天】
1127 1
|
前端开发
如何在前端项目中单独引入 ElementUI 图标以及使用
这篇文章介绍了如何在前端项目中单独引入Element UI的图标文件以及如何使用这些图标。
1492 0
如何在前端项目中单独引入 ElementUI 图标以及使用
|
开发工具 开发者 Docker
YML配置文件的常用属性
本实验介绍了Docker Compose中YML配置文件的常用属性
YML配置文件的常用属性
|
Android开发
Android 封装一个通用的PopupWindow
`PopupWindow`这个类用来实现一个弹出框,可以使用任意布局的`View`作为其内容,这个弹出框是悬浮在当前`Activity`之上的,一般`PopupWindow`的使用
466 0
|
人工智能 算法 安全
天猫精灵CC7评测:一台更懂你的智能音箱管家
天猫精灵的机身顶部弧度、机身腰线都很好,运用最简单的几何学原理,配合爵士银的色彩,就像是一款艺术品,这种简约设计风格也可以更好地让产品融入到家居环境当中。对于男性用户来说,这样的设计风格也更符合审美标准,不会像其他音箱那么花里胡哨,显得高端典雅。
6418 1
天猫精灵CC7评测:一台更懂你的智能音箱管家