Java中方法重载(Overloading)和方法重写(Overriding)的区别

方法重载(Overloading),同名不同参
1:同一个类
2:方法名相同
3:参数列表不同
3.1:参数个数不同
3.2:参数类型不同
3.3:参数顺序不同
4:与返回值无关
重载:方法重载是让类以统一的方式处理不同类型数据的一种手段。多个同名函数同时存在,具有不同的参数个数/类型。重载Overloading是一个类中多态性的一种表现。
例如:我处理时间的函数,想要将一个日期转换成制定格式yyyyMMdd,但是我获取到的日期变量有字符串,Date等,这里我使用重载就可以避免重复的做数据类型转换了。

方法重写(Overriding),同名又同参
子类重新把父类中的方法写一遍
1:子父类之间
2:返回值,方法名,参数列表必须一致
3:子类的访问修饰符要大于等于父类的访问修饰符
重写:父类与子类之间的多态性,对父类的函数进行重新定义。如果在子类中定义某方法与其父类有相同的名称和参数,我们说该方法被重写 (Overriding)。在Java中,子类可继承父类中的方法,而不需要重新编写相同的方法。但有时子类并不想原封不动地继承父类的方法,而是想作一定的修改,这就需要采用方法的重写。方法重写又称方法覆盖。
例如:重写toString()方法。

返回值,方法名,参数列表必须一致

父类中的哪些方法应该被重写?
定义在父类中那些独有的方法,每个子类应该重写那么属于这个类本身的功能的的方法
父类中对于每个子类功能一致的方法,不用重写
父类中对于每个子类功能不一致的方法,应该重写

猜你喜欢

转载自blog.csdn.net/qq_44013790/article/details/84984744
今日推荐