java方法的重载(overloading)和覆盖(override)

来源:互联网 发布:js array转json对象 编辑:程序博客网 时间:2024/05/19 19:59

多态性是指同一个名字的若干个方法有不同的实现(即方法体重的代码不一样),多态性通过方法的重载(overloading)和覆盖(override)来实习。

一个类中,有若干个方法名字相同,但方法的参数不同,称为方法的重载。在调用时,根据参数的不同来决定执行哪个方法。重载的关键是参数必须不同,即参数类型或参数个数不同。方法重载的目的是用统一的名字访问一系列相关的方法。

如果在子类和超类中有同名的方法(参数也相同),子类中的方法将覆盖超类的方法。因此,如果超类和子类有同名且参数相同的方法,那么超类的对象调用超类的方法,子类的对象调用子类的方法。这就是覆盖。通过覆盖可以使同名的方法在不同层次的类中有不同的实现。

对于方法的重载,在程序编译时,根据调用语句给出的参数,就可以决定在程序执行时调用同名方法的哪个版本。这称为编译时的绑定(前期绑定)。

对于方法的覆盖,要在程序执行时,才能决定调用同名方法的哪个版本。这称为运行时的绑定(后期绑定)。

0 0
原创粉丝点击