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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© steven152 中级黑马   /  2014-8-20 23:58  /  2086 人查看  /  14 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

请问下覆盖和重载区别哪里?有时经常搞混!

14 个回复

正序浏览
覆盖 方法名和参数都一样,方法内容不一样     重载  方法名一样,参数不一样
回复 使用道具 举报
  学习了
回复 使用道具 举报
男人你得有范 来自手机 中级黑马 2014-8-22 00:33:12
13#
同意四楼
回复 使用道具 举报
重载:存在于同一个类中,两个方法方法名一样,但是参数不同

覆盖:存在于子父类中或者实现接口中,子类通过定义一个名字和参数都与父类方法相同的方法来覆盖父类的老方法,子类对象在调用此方法的时候执行的是子类中定义的这个新方法
回复 使用道具 举报
重载 只看同名函数的参数列表  同一个类里面   方法名名相同  参数类型或参数个数不同
重写 子父类方法要一模一样     要覆盖父类的某个方法,方法名和返回类型,参数列表都得一致
回复 使用道具 举报
重载是在同一个类中,由于参数个数和参数类型的不同进行重载。
而覆盖是发生在子类继承父类中,由于子类和父类的方法相同。但是方法主题不同,子类中的主题覆盖了父类中的主题。从而实现了覆盖
回复 使用道具 举报
本帖最后由 華燈初上 于 2014-8-21 16:02 编辑

覆盖即复写,就是把父类的方法在子类中重写(方法名必须相同),接口的子类中必须复写父类的方法,而抽象的子类中必须复写父类的抽象方法,不必复写父类的非抽象方法;重载就是在一个类中可以有两个或者两个以上的同名函数(方法),但是参数个数必须不同。
回复 使用道具 举报
重载是参数列表不同(参数个数、顺序、类型),覆盖方法名必须相同,返回值必须相同!
回复 使用道具 举报
路过~~~~~
回复 使用道具 举报
看看~~~~~
回复 使用道具 举报
noiary 来自手机 高级黑马 2014-8-21 10:11:57
报纸
我是来看答案的
回复 使用道具 举报
重载是指同一个类里面   方法名名相同  参数类型或参数个数不同  (与返回类型无关),调用 的时候会根据参数调用相对应的方法。覆盖就是重写,子类要覆盖父类的某个方法,方法名和返回类型,参数列表都得一致。
回复 使用道具 举报
函数的重载:在同一个类中,允许存在一个以上的相同名称的函数,只要他们的参数个数或者参数类型不同即可。
覆盖:覆盖式面向对象继承里面的。子类继承父类的时候,针对相同的成员函数,子类会对其覆盖重写。这样才能变得原来越强大。
重载和重写是两个不同的概念。
回复 使用道具 举报
重写,就是把原先的覆盖掉,直接运行新的,而重载不会覆盖,原先的也要运行。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马