Overload与Override的区别

来源:互联网 发布:u盘安装mac os 10.12 编辑:程序博客网 时间:2024/05/21 10:38

Overload(重载):

1.方法名相同;

2.参数列表不同。

注意:

   方法的返回值不是判断重载的依据

 

Override(重写/覆盖):

1.方法名相同,参数列表相同,方法的返回值相同(1.5开始,返回值可以是父类方法返回值的子类);

2.父类和子类的方法必须是实例方法,不可以是静态的;

3.访问修饰权限大于等于父类方法;

4.覆盖的方法所抛出的异常必须和被覆盖方法的所抛出的异常一致,或者是其子类;

5.被覆盖的方法必须是可见的,即不能为private,否则在其子类中只是新定义了一个方法,并没有对其进行覆盖。