Java编程困惑:方法重载和覆盖的区别
在Java编程中,”方法重载(Overloading)” 和 “方法覆盖(Override)” 是两个相关但有所区别的概念。
方法重载(Overloading):
- 重载是指在同一个类中定义了同名的方法,但是参数列表不同。
- 重载是基于方法的名字来区分的,所以返回类型不重要。
方法覆盖(Override):
- 覆盖是指在一个子类中,如果声明了一个与父类中有同名方法,则子类中的这个方法就是对父类方法的覆盖。
- 覆盖需要满足两个条件:一是方法名相同;二是子类方法覆盖父类方法时,返回类型和访问权限必须一致。
总结一下,重载是基于名字区分的方法,不需要完全相同的参数列表。而覆盖则要求方法名、返回类型和访问权限都与父类中的方法完全一致,并在子类中声明为覆盖。
还没有评论,来说两句吧...