一旦知道Java通过后绑定实现了多态的方法调用,你就可以只编写同基类打交道的代码了。因为你知道所有的派生类也能正确地使用这些代码。或者换一个说法,你“向对象发一个消息,让它自己判断该做些什么”。
例如基类被称作shape,它有好几个派生类:circle,square,triangle等等。这里先创建一个circle对象,接着马上把它的reference赋给了shape。看上去这像是一个错误(一种类型怎么能赋给另一种);但是由于circle是由shape派生出来的,circle就是一种shape,因此这种做法非常正确。所以编译器会毫不含糊地接受这条语句,什么错都不报。