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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 安生安徒生 中级黑马   /  2016-7-2 23:29  /  1389 人查看  /  6 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

Overload和Override的区别。Overloaded的方法是否可以改变返回值的类型?
答:方法的重写Overriding和重载Overloading是Java多态性的不同表现。重写Overriding是父类与子类之间多态性的一种表现,重载Overloading是一个类中多态性的一种表现。如果在子类中定义某方法与其父类有相同的名称和参数,我们说该方法被重写 (Overriding)。子类的对象使用这个方法时,将调用子类中的定义,对它而言,父类中的定义如同被“屏蔽”了。如果在一个类中定义了多个同名的方法,它们或有不同的参数个数或有不同的参数类型,则称为方法的重载(Overloading)。Overloaded的方法是可以改变返回值的类型。







6 个回复

倒序浏览
方法的重载   方法名相同与返回值无关,参数类型不同( 1参数个数,2参数类型和3参数顺序)参数顺序不同和原方法基本是一样所以编程时一般是不写的
回复 使用道具 举报
顶一个!
回复 使用道具 举报
       顶一个
回复 使用道具 举报
简单点说,重载是在同一个类中,方法名相同,参数不同(参数个数、类型、顺序不同),与方法的返回值无关。
重写发生在继承关系中,子类的方法和父类的方法一样,只是方法体不一样
回复 使用道具 举报
学习了~~~~~虽然知道是水贴
回复 使用道具 举报
(1)重载:在同一个类中,方法名相同、参数列表不同(数量不同、类型不同、顺序不同)、与返回值类型无关的多个方法构成重载
(2)重写:在继承中,子父类出现了一模一样的方法(注意:返回值类型可以是子父类,这个我们学完面向对象讲) ,当子类需要父类的功能,
            而功能主体子类有自己特有内容时,可以重写父类中的方法。这样,即沿袭了父类的功能,又定义了子类特有的内容
(3)重写的注意事项:
            a.父类中私有方法不能被重写,因为父类私有方法子类根本就无法继承,既然子类无法继承,就谈不上重写了
            b.子类重写父类方法时,访问权限不能更低,最好就一致
            c.父类静态方法,子类也必须通过静态方法进行重写
                * 其实这个算不上方法重写,但是现象确实如此,至于为什么算不上方法重写,多态中我会讲解(静态只能覆盖静态)
            d.子类重写父类方法的时候,最好声明一模一样。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马