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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© xingkong123 中级黑马   /  2014-11-28 23:29  /  1589 人查看  /  13 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

重写,重载和覆盖之间有什么区别啊??、

13 个回复

倒序浏览
继承里面有自己看啊
回复 使用道具 举报
重写就是覆盖
重写是在两个类中,函数名相同,参数列表相同的
重载是在一个类中,函数名相同,参数列表不同的
我是这么理解的...
回复 使用道具 举报
多看几遍  视频  就知道了   兄弟
回复 使用道具 举报
陈宁 来自手机 中级黑马 2014-11-29 13:13:48
报纸
       覆盖就是重写。方法名和参数列表一样。
      重写是当子类需要修改父类的方法体内容时使用的。当重写后,子类对象调用时,只执行重写后的方法。而执行不到父类的方法,所以叫覆盖。重写只发生在子类中。
      毕老师叫覆盖是为了让我们好理解重写,我听过有些老师直接叫重写的。

      重载是发生在同一个类中,方法名一
样,而参数列表不同。重载是为了区分功能相似的不同函数的。例如method(int a)和method(int a,int b),前者是对一个数进行操作,后者是操作两个数。传一个数调用前者,两个调用后者。
回复 使用道具 举报
重写必须是继承关系,,然后子类和父类的方法名和参数列表相同,子类重写父类方法体
重载就是同一个类里面,方法名相同,参数列表不同的方法
回复 使用道具 举报
方法的重写和重载是Java多态性的不同表现。重写是父类与子类之间多态性的一种表现,重载是一个类中多态性的一种表现。如果在子类中定义某方法与其父类有相同的名称和参数,我们说该方法被重写 (Overriding)。子类的对象使用这个方法时,将调用子类中的定义,对它而言,父类中的定义如同被“屏蔽”了。如果在一个类中定义了多个同名的方法,它们或有不同的参数个数或有不同的参数类型,则称为方法的重载(Overloading)。Overloaded的方法是可以改变返回值的类型。
回复 使用道具 举报
重写就是覆盖,当子类继续父类时,定义的方法名和参数列表相同,方法体不同。 重载就是在同一个类里面,方法名相名,参数列表不同。
回复 使用道具 举报
重写(就是覆盖):子类重新编写父类中的方法用以变更父类的行为(按我的理解其最重要的目的应该是实现多态技术)。
重载:利用参数列表的变化来区分多个同名方法,以实现方法名称的复用(按我的理解:意图在于更容易编写可读性好的代码)
回复 使用道具 举报
重写就是覆盖,参数不变,方法提重新编写,重载是把参数变了
回复 使用道具 举报
见毕老师视频,由于汉语的博大精深,override被译成汉语后出现了重写,重载,覆盖等不同版本

点评

丢人了  发表于 2014-12-9 18:57
回复 使用道具 举报
继承关系,函数功能,就是{}中的内容发生改变就是重写,然后函数名一样,参数列表不一样就是重载
回复 使用道具 举报
都是重写,和删除一样
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马