重载
在一个类定义中,可以编写几个同名的方法,但是只要它们的签名参数列表不同,Java就会将它们看做唯一的方法。简单的说,一个类中的方法与另一个方法同名,但是参数表不同,这种方法称之为重载方法。
重载的规则:
1、方法名相同
参数不同(类型和个数)
返回值不做要求
2、不能通过访问权限、返回类型、抛出的异常进行重载;
3、方法的异常类型和数目不会对重载造成影响;
重写
一般是用于子类在继承父类时,重写父类中的方法,重写了一个方法,以实现不同的功能。
重写(覆盖)的规则:
1、函数名相同
参数列表相同
返回值相同
2、重写方法的访问修饰符一定要大于等于被重写方法的访问修饰符(public>protected>default>private)。
3、静态的方法和private不能被重写。被重写的方法不能为private,否则在其子类中只是新定义了一个方法,并没有对其进行重写。
4、重写的方法所抛出的异常必须和被重写方法的所抛出的异常一致,或者是其子类;
多态
多态是同一个行为具有多个不同表现形式或形态的能力。它是面向对象程序设计(OOP)的一个重要特征。多态机制使具有不同内部结构的对象可以共享相同的外部接口。这意味着,虽然针对不同对象的具体操作不同,但通过一个公共的类,它们(那些操作)可以通过相同的方式予以调用。