多态是什么?
意味着不同的形式。面向对象的程序设计中,我们持有从基类继承的相同接口,以及该接口的不同形式(即:不同版本的绑定方法)。多态是一种不能单独看待的特性,只能作为类关系的全景的一部分,与其他类协同工作。运用数据抽象和继承,才能更好地理解多态。实现多态的机制为(父类或接口定义的引用变量可以指向子类或具体实现类的实例对象,而程序调用的方法在运行时期才动态绑定)。这里“程序调用的方法”指的是 引用变量所指向的具体实例对象的方法,亦即,内存中正在运行的那个对象的方法。这里“程序调用的方法”指的不是 引用变量的类型中定义的方法。
重载overload与重写覆盖override的比较:
重载overload
方法名相同,但参数列表的类型、个数、顺序不同
与方法的返回值无关
可以抛出不同的异常,可有不同的修饰符
重写覆盖override
方法名、参数列表、返回类型相同
构造方法,声明为final或static的方法不能被重写,但可以再次被声明
被重写override的方法的访问权限不能为private,子类的访问权限不能小于父类的访问权限