第3个回答 2013-10-27
重载:在一个类的内部,如果有一个方法名为test,你重新写一个方法,这个方法的名字也叫test,但是两个方法的参数不同.
也就是说,重载指的是在一个类的内部有两个或多个名字相同但参数不同的方法.
覆盖:如果一个父类有一个方法名为test,在他的子类里也写一个方法名字也是test,两个方法返回类型和参数都相同,但是方法体不同.
也就是说,覆盖指的是不同的类中(父类方法,子类覆盖)有两个或多个返回类型,方法名,参数都相同,但是方法体不同的方法
第4个回答 2013-10-27
重载就是在同一个类中有多个名称相同但参数和返回值不同的方法,例如int Add(int a, int b)double Add(double a, double b)在调用名称为Add的方法时会调用参数最匹配的方法。 覆盖就是子类继承了父类,并将父类中的一个方法重新实现,也就是说将父类的方法用新的代码重新写一遍,这样在调用这个方法的时候运行的就是子类新的代码,而不是父类原来的代码。 重载和覆盖的最主要区别就是:相互重载的各个方法的名称必须相同,参数必须不相同,返回值可以相同也可以不相同;覆盖必须发生在继承中,且方法名称、参数和返回值一定要相同。要注意的是重载也可以发生在继承中,也就是说子类的方法与父类的方法名称相同,但参数不同。