方法重载的条件:
1.方法名称相同
2.方法参数类型、个数、顺序至少有一个不同
3.方法的返回类型可以不同,因为方法重载和返回类型没有任何关系
4.方法的修饰符可以不同,因为方法重载和修饰符没有任何关系
5.方法重载只出现在同一个类中
方法的覆盖(Override)的条件:
1.必须要有继承关系
2.覆盖只能出现在子类中,如果没有继承关系,不存在覆盖,只存在重载
3.在子类中被覆盖的方法,必须和父类中的方法完全一样,也就是方法名,返回类型、
参数列表,完全一样
4.子类方法的访问权限不能小于父类方法的访问权限
5.子类方法不能抛出比父类方法更多的异常,但可以抛出父类方法异常的子异常
6.类的静态方法不能被子类覆盖
7.父类的私有方法不能覆盖
8.父类的构造方法不能被覆盖,只能被调用;
覆盖是针对成员方法,而非属性,覆盖的目的是改变父类的行为。
本文出自 “gaogaozi” 博客,请务必保留此出处http://hangtiangazi.blog.51cto.com/8584103/1661153
原文地址:http://hangtiangazi.blog.51cto.com/8584103/1661153