【多态】:
多态是面向对象的重要部分。在java中通常使用重载和覆盖来实现多态。
【方法的重载】:(没有继承关系也可以重载)
是指在一个类中,出现多个方法名相同,但是参数个数或者参数类型不同的方法。java在执行具有重载关系的方法时,将根据调用参数的个数和类型来区分具体执行的是哪个方法。
重载的方法之间并一定必须有联系。但是为了提高程序的可读性,一般指重载功能相似的方法。
在方法重载时,方法返回值的类型不能作为区分方法重载的标志。
【方法的覆盖】:(也就是方法的重写,必须在继承时才能发生)
当子类继承父类中所有可能被子类访问的成员方法时,如果子类的方法名与父类的方法名相同,那么子类就不能继承父类的
方法,此时,称子类的方法覆盖了父类的方法,覆盖体现了子类补充或者改变父类方法的能力,通过覆盖,可以使一个方法在不同的子类中表现不同的行为。
(注):在进行方法覆盖时,需要注意一下几点:
(1)子类不能覆盖父类中的final或static方法。
(2)子类必须覆盖父类中为abstract方法,或者子类也将方法声明为abstract。
(3)子类覆盖父类中的同名方法时,子类中方法的声明也必须和父类中被覆盖的方法的声明一样。
(4)子类覆盖的方法不能比被覆盖的方法拥有更低的访问权限。
(5)私有方法和构造方法无法被覆盖
【向上转型】:
一个对象可以看作本类类型,也可以看作它的超类类型,取得一个对象的引用并将它看作超类的对象,称为向上转型。