Tuesday, November 18, 2008

Java 多态学习笔记

在面向对象的程序设计语言中,多态是继数据抽象和继承之后的第三个基本特征。
将一个方法调用同一个方法主体关联起来称作绑定,程序在运行时能从对象提供的信息中获取对象的类型,从而调用正确的方法体,所以也称为运行时绑定,后期绑定。
多态意味着“不同的形态”,就是对于继承自同一基类的不同子类对象,在相同的接口方法被调用时,会在运行时找到方法相对应的方法体。多态是跟继承协同工作的,是以继承为基础的。
在java中,除了static方法和final方法(private方法也是属于final方法)之后,其他所有的方法都是后期绑定的,通过后期绑定实现多态。这也就是说对于普通的方法调用可以是多态的,而对于静态方法和属性字段则不存在多态。
在继承时,只有public、protected和包可见的方法会被重载,对于基类中的private的方法是不会被子类覆盖的,对于子类而言,是不知道父类中是否有同名的private方法的,子类中同名的private方法就是一个完全不相关的全新方法。

No comments :