cuiyi's blog(崔毅 crazycy)

记录点滴 鉴往事之得失 以资于发展
数据加载中……

JAVA基础(一):多态(overloading & overridding)的分析

< 示例1>

题目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 阅读(2646) 评论(6)  编辑  收藏 所属分类: JavaSE语言

评论

# re: JAVA基础(一):多态(overloading & overridding)的分析  回复  更多评论   

我感觉只需要学习过SCJP课程的人,做这几道题都是非常轻松的。
2006-10-13 07:04 | Supergoal

# re: JAVA基础(一):多态(overloading & overridding)的分析  回复  更多评论   

@Supergoal
呵呵,学过SCJP的人还是不占大多数的,毕竟证书是贵的。
有时很多实践之后,回头感受这个,往往有一种新的感觉。
况且实践相关的东西总比被别人教来的好些。
还有阿,这些东西已经不止一次的看过,上次悉心读java编程指南时记录的许多笔记,现在回头看来依然很有回味。


介于在这个地方提到证书,那我也多说一句,曾领略过很多地方的培训中心就是题海战术,呵呵,不希望由此带来证书价值的认可。
2006-10-13 10:48 | crazycy

# re: JAVA基础(一):多态(overloading & overridding)的分析  回复  更多评论   

呵呵,小伙越来越强、越来越踏实了~受教不少。
2006-10-13 11:51 | coffee

# re: JAVA基础(一):多态(overloading & overridding)的分析  回复  更多评论   

不用现金抵押,只要你够实力,www.mylinux.com.cn项目投标系统为您提供完善的软件外包服务.
2006-10-13 13:59 | 1

# re: JAVA基础(一):多态(overloading & overridding)的分析  回复  更多评论   

留个脚印
2006-12-04 22:09 | INSOMNIA

# re: JAVA基础(一):多态(overloading & overridding)的分析  回复  更多评论   

写的很好 找回了记忆~
谢谢
2008-10-19 01:31 | redcoatjk

只有注册用户登录后才能发表评论。


网站导航: