方法重载和重写的区别
发布网友
发布时间:2022-03-22 23:44
我来回答
共2个回答
热心网友
时间:2022-03-23 01:13
重载:重载字面意思多次的意思,也就是同一个方法实现多个不同的逻辑,并可以在同一个类中可以实现。其实现的原理是,方法名相同,参数的个数或者类型不同即可。
重写:重写就是要重新去写(实现),一个类中不可能两个定义一样的方法。因此,重写就是子类对父类定义的方法重新实现一次。
扩展资料
一、方法重载的具体规范:
1、必须具有不同的参数列表;
2、可以有不同的返回类型,只要参数列表不同就可以了;
3、可以有不同的访问修饰符;
4、可以抛出不同的异常。
二、方法重写的具体规范:
1、参数列表必须完全与被重写的方法相同,否则不能称其为重写而是重载;
2、返回的类型必须一直与被重写的方法的返回类型相同,否则不能称其为重写而是重载;
3、访问修饰符的*一定要大于被重写方法的访问修饰符号、(public>protected>default>private);
4、重写方法一定不能抛出新的检查异常或者比被重写方法申明更加宽泛的检查型异常。
参考资料:搜狗百科——方法重载搜狗百科——方法重写
热心网友
时间:2022-03-23 02:31
1.重写方法名、参数、返回值相同;重载参数类型、个数、顺序至少有一个不相同。
2.重写存在于父类和子类之间;重载存在于父类和子类、同类中。
2.重写发生在一个类中;重载发生在继承类中。
4.被重写的方法不能拥有更严格的权限;重载对权限没有要求。
扩展资料:
重载,简单说,就是函数或者方法有相同的名称,但是参数列表不相同的情形,这样的同名不同参数的函数或者方法之间,互相称之为重载函数或者方法。
在C#中,子类可继承父类中的方法,而不需要重新编写相同的方法。但有时子类并不想原封不动地继承父类的方法,而是想作一定的修改,这就需要采用方法的重写。方法重写又称方法覆盖。
参考资料:重载搜狗百科重写搜狗百科