黑马程序员技术交流社区
标题:
方法的重写和重载的区别
[打印本页]
作者:
痞子刘忙
时间:
2015-6-15 22:08
标题:
方法的重写和重载的区别
如题,个人理解是重写是继承中子类针对父类的操作,重载是在同一个类中,不知道理解对吗?
作者:
年华虚度
时间:
2015-6-15 23:22
没什么问题!重写 和重载确实是这样 但是他们主要的区别不是这样分的!!!
作者:
liu100chao
时间:
2015-6-15 23:36
我觉得对!重写就是重写父类的方法,重载是同一个类中的不同的方法的参数列表不同!
作者:
金亮0602
时间:
2015-6-15 23:36
方法重写与方法重载的区别:
方法重写(覆盖,复写):override
子类中与父类的同名方法,必须要重写,包括返回值类型、方法名、参数列表,必须完全一致。
方法重载:overload
同一个类中出现的,方法名一样,参数列表不同的函数,与返回值无关。
Ø 方法重写的应用
应用场合:
当子类需要父类的功能,而功能主体子类又有自己特有的内容时,可以重写父类的方法,这样既沿袭了父类的功能,又定义了子类特有的内容。
注意事项:
A:父类中的私有方法不能重写,因为无法继承
B:子类重写父类方法时,子类的访问权限不能比父类中的更低,最好保持一致
C:父类中的方法为静态时,子类也必须用静态重写
(这个只是结果像重写,本质不是重写,多态再讲)
总的来说最好子类重写的方法声明与父类的被重写的方法一模一样。
复制代码
作者:
h782205380
时间:
2015-6-15 23:42
如果面试最好回答得详细些
作者:
rose_xiaomei
时间:
2015-6-15 23:57
可以更具体些。
1.方法的重写是子类和父类之间的关系,方法的重载是同一个类中方法之间的关系。
2.重写只能由一个方法或者一对方法产生关系,而方法的重载是多个方法之间的关系。
3.重写要求参数列表相同,儿重载则是方法名称相同,参数列表(参数和参数类型)不同。
楼下请补充。
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2