A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

q1w2e3r4

初级黑马

  • 黑马币:8

  • 帖子:14

  • 精华:0

© q1w2e3r4 初级黑马   /  2016-10-4 10:06  /  1197 人查看  /  8 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

为什么说重写也是封装啊?不懂重载和重写到底有什么区别

8 个回复

倒序浏览
首先名字都一样,重载是参数列表不一样,重写是什么都要求一样,重载就相当于有很多差不多的东西,就是尺寸不同,重写是覆盖原来的,面试题多看下笔记吧

评分

参与人数 1黑马币 +5 收起 理由
q1w2e3r4 + 5 很给力!

查看全部评分

回复 使用道具 举报
梦想工程师 发表于 2016-10-4 10:09
首先名字都一样,重载是参数列表不一样,重写是什么都要求一样,重载就相当于有很多差不多的东西,就是尺寸不同 ...

感谢好人
回复 使用道具 举报
1、重写override概念(掌握)
   子父类关系中,子类中存在与父类中方法声明完全一样的方法叫重写
   一句话:除了方法体以外其他都相同,但是子类修饰符权限要大于等于父类
2、重载overload概念(掌握)
   一个类中或者子父类关系中存在多个同名方法,并且参数列表不同的方法 叫重载
   子父类关系中:子类中的方法和父类中的方法构成了重载关系
3、重写的作用\应用(理解)
   升级改造父类的方法
4、注意(掌握)
   只有方法才存在重写,变量不存在

回复 使用道具 举报
最明显的区别是位置不同,
方法重载一般是在本类中,方法名相同,参数列表不同.
而方法重写是必须是在子类中重写父类的方法,方法声明(包括方法名与参数列表,返回值类型)要与父类一模一样(返回值类型的是子父类除外),只是重写了方法体中的东西,目的是增强子类的功能.


建议多看老师的视频与笔记
回复 使用道具 举报
本来想说说,结果看下边说的挺详细,我也学学,哈哈
回复 使用道具 举报
重载就是类名一样,参数列表可以不一样。然后根据参数列表会调用不同的类。重写的话,打个比方,父类中有abc等等部分,然后我想改动其中的b部分,要去父类中找到b再修改也很麻烦,这时候就用一个子类重写修改父类中的b部分,可以省事很多
来自宇宙超级黑马专属苹果客户端来自宇宙超级黑马专属苹果客户端
回复 使用道具 举报
重写:子类的方法的权限>=父类的方法的权限(如果父类是private,子类就不能继承,何谈重写)
重写:重写的两个方法名也是必须相同
重写:重写的两个方法形参列表必须相同
重写:重写的两个方法返回值必须相同
回复 使用道具 举报
很好理解啊 重载就是多个方法都可以调用 形参列表不同  而重写形参列表是相同的
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马