class="p0">方法重载与重写的区别:
?(1).方法重载:在Java?中,同一个类中的2个或2个以上的方法可以有同一个名字,只要它们的参数声明不同即可。在这种情况下,该方法就被称为重载(overloaded?)。
例:class?A{
Public?void?a(int?a);
Public?void??a(String?a);
Public?void??a(int?a,int?b);
?}??
这就实现了方法的重载,方法重载的条件:
a.必须是同一个类
b.方法名一样
c.参数类型或个数或顺序不一样
(2).方法的重写:在类层次结构中,当子类中的方法与父类中的方法具有相同的返回类型和签名时,就称子类中的方法重写(override)了父类中方法。
例:
Class?A?{
??Public?void?show(){
?System.out.println(“显示图片”);
}
?
Class?B?exstends?A?{
??Public?void?show(){
??System.out.println(“显示动态图片”);
}?//我们就称B类中的方法重写了A类中的方法。
方法重写的条件:
a.子类的方法的名称及参数必须和父类的方法相同;
b.子类的方法返回类型必须和父类的方法相同;
c.子类不能缩小父类方法的访问权限。
<!--EndFragment-->