重载是怎么样,重写又是什么样呢?两种方法是否可以同时用
重载(Overload):函数名相同,参数不同。可以改变返回值类型,参数个数和类型。
重写(Override):在有父子类的继承关系中,子类里面具有和父类的方法名称、参数完全相同,具体的实现不同。
java重载和重写的区别
重载是在一个类内部,方法名称相同,参数个数或类型不一致。
重写是在子类继承父类的时候,子类修改了父类的方法,重写也叫做覆盖。
1.定义区别:
①重载是指不同的函数使用相同的函数名,但是函数的参数个数或类型不同。调用的时候根据函数的参数来区别不同的函数。
②覆盖(也叫重写)是指在派生类中重新对基类中的虚函数(注意是虚函数)重新实现。即函数名和参数都一样,只是函数的实现体不一样。
2.类的关系区别
覆盖是子类和父类之间的关系,是垂直关系;重载是同一个类中方法之间的关系,是水平关系。
3.产生方法区别
覆盖只能由一个方法或只能由一对方法产生关系;重载是多个方法之间的关系。
4.参数列表要求区别
覆盖要求参数列表相同;重载要求参数列表不同。
重载一般是在同一个类里,针对某个操作可能存在不同的输入,从而编写了多个函数名相同,但参数不同的方法
重写一般是在集成关系里,子类重写了基类的某个方法,要求函数名和参数必须完全一致
您好,我是有问必答小助手,您的问题已经有小伙伴解答了,您看下是否解决,可以追评进行沟通哦~
如果有您比较满意的答案 / 帮您提供解决思路的答案,可以点击【采纳】按钮,给回答的小伙伴一些鼓励哦~~
ps:问答VIP仅需29元,即可享受5次/月 有问必答服务,了解详情>>>https://vip.csdn.net/askvip?utm_source=1146287632