面向对象编程有三个特点:继承、多态、封装。
说道多态,其实又是和继承分不开的。
所以,先简单说一下继承吧。继承的概念中又有两个重要概念:父类和子类。一个类就是一种类型,子类继承了父类的所有特征,与此同时又有自己特有的特点。
再来说说动态绑定,一个类中的一个方法可以在父类中定义,而在子类中覆盖。例如,toString()方法在父类中有定义,在子类中却被覆盖掉。动态绑定的工作机制可以说明如下:
假设对象ob是类C1,C2,...Cn的实例,其中C1是C2的子类,C2是C3的子类,也就是说Cn是最普通的类,假设ob调用一个方法p,那么Java虚拟机会依次在C1,C2,....,Cn中找方法p,直到找到为止。这就是动态绑定的最基本原理了。当然,讲到这里,你也就知道多态应该怎么实现了吧。