《Java编程思想》读书笔记之多态的理解
《Java编程思想》读书笔记之多态的理解
http://blog.csdn.net/happyjackqu/article/details/50453809
1. 生成一个派生类的对象,并将其向上转型为其基类的引用。
2. 在基类中定义一些方法,并在派生类中覆盖这些方法。
3. 用上述基类的引用调用这些方法。
结果:
实际调用的是派生类中的方法。
好处:
可以编写一些只与基类有关的代码,当应用于不同的派生类的对象时,这些方法不需要做
任何改动就能使用。这些代码就属于“不变的部分”。
举例:
Shape s = new Circle();
s.draw();/*实际调用的是Circle类中覆盖的那个draw方法*/
之所以能够达到这种效果,是因为Java内部的方法调用机制实现了后期绑定(也称运行时绑定),
即在运行时根据对象的类型绑定到具体的方法的实现。
调用同样的“接口”,具体的行为却会不同,所以叫“多态”。