< 示例1>
<练习>
< 示例2>
<示例3>
分析
多态:
Java 中的函数,除了声明外 final 的外,都是后期绑定。
所谓绑定是建立“函数调用”和“函数本体”的关联。、
所谓的后期绑定是指执行时根据对象类别而进行
多态仅仅对函数而言,不对变量而言;
变量的访问依赖于编译期引用指向的类型;
方法的访问依赖于执行期对象的类型;
向上转型后,调用某个函数,若 derived class overriding 了该函数,则会调用该 derived class 中的函数,否则会调用 base class 中的函数。
向上转型后,只能调用 base class 中被 derived class overriding 的函数,不能调用 derived class 中 extend 函数。
即向上转型后,只能调用 base class 中的方法,不能调用 derived class 中的扩展方法 补记:编译器自始自终对引用到底指向哪个型别无能无力,其认为指向声明的型别,这个是编译期。而java中除了final修饰的方法外,所有函数都是由“method-cal“的late binding机制,在执行期判知对象的型别,并调用相关的函数,这是执行期。
--------取于 崔毅 之《java编程指南》《java编程思想》学习笔记l
posted on 2006-10-11 17:10 crazycy 阅读(2815) 评论(6) 编辑 收藏 所属分类: JavaSE语言
Powered by: BlogJava Copyright © crazycy