日期:2014-05-20  浏览次数:20699 次

能否举例说明下重载与覆盖的区别?额·谢谢啦~
能否举例说明下重载与覆盖的区别?额·谢谢啦~

------解决方案--------------------
重写即覆盖:override 重载overload
重写发生在子类与父类之间.典型特征是有exends关键字.同名同参同返回值
重载是发生在同一个类时面,同一个类有多个同名的方法,一般他们要么传入的参数不同,要么返回值不同..
例:
 public class Dog{
public void talk(){
System.out.println("汪...");
}
 }
public class WomenDog extends Dog{
 public void talk(){
System.out.println("母狗发春....");
 }
}
这就重写,子类有一个和父类完全一样的方法..通常我们说子类重写了父类的XX方法.
重载:
 public class User{
public User getUser(int id){
//....业务逻辑
}
public User getUser(String name,String password){
//......
}
 }
这叫重写,最典型的就是构造函数,你回去看一下,一个类是不是可以有多个构造函数啊?有的有参有的没参...

------解决方案--------------------
探讨
重载:同名方法加参数改返回类型等(重在后俩方法都可用)
覆盖:方法的重写(实现方法改写,覆盖后旧方法不可用)