《Thing in java》多态
来源:互联网 发布:sweet alert.js 编辑:程序博客网 时间:2024/05/29 16:44
将一个方法调用同一个方法主体连接到一起就称为“绑定”(Binding)。若在程序运行以前执行绑定(由编译器和链接程序,如果有的话),就叫作“早期绑定”。大家以前或许从未听说过这个术语,因为它在任何程序化语言里都是不可能的。C 编译器只有一种方法调用,那就是“早期绑定”。
上述程序最令人迷惑不解的地方全与早期绑定有关,因为在只有一个 Instrument 句柄的前提下,编译器知
道具体该调用哪个方法。
解决的方法就是“后期绑定”,它意味着绑定在运行期间进行,以对象的类型为基础。后期绑定也叫作“动
态绑定”或“运行期绑定”。若一种语言实现了后期绑定,同时必须提供一些机制,可在运行期间判断对象
的类型,并分别调用适当的方法。也就是说,编译器此时依然不知道对象的类型,但方法调用机制能自己去
调查,找到正确的方法主体。不同的语言对后期绑定的实现方法是有所区别的。但我们至少可以这样认为:
它们都要在对象中安插某些特殊类型的信息。
Java 中绑定的所有方法都采用后期绑定技术,除非一个方法已被声明成final。这意味着我们通常不必决定
是否应进行后期绑定——它是自动发生的。
为什么要把一个方法声明成final 呢?正如上一章指出的那样,它能防止其他人覆盖那个方法。但也许更重
要的一点是,它可有效地“关闭”动态绑定,或者告诉编译器不需要进行动态绑定。这样一来,编译器就可
为final 方法调用生成效率更高的代码。
阅读全文
0 0
- 《Thing in java》多态
- Thing-in-java
- Thing-in-Java(P57)
- Thing-in-Java(P58)
- Thing-in-Java(P61)
- 《THING IN JAVA》 13章字符串-读书笔记
- 《THING IN JAVA》 9章接口-读书笔记
- 《THING IN JAVA》 7章复用类-读书笔记
- 《THING IN JAVA》 8章多态-读书笔记
- 《THING IN JAVA》 12章通过异常处理错误-读书笔记
- 《THING IN JAVA》 6章访问权限控制-读书笔记
- 《Thing in Java》对final关键字的介绍之数据
- 《Thing in java》上塑造型的笔记
- the new thing in webkit3
- <java编程思想>(thing in java) 阅读笔记(第一章至第六章)
- <java编程思想>(thing in java) 阅读笔记(第七章至第十章)
- <java编程思想>(thing in java) 阅读笔记(第十一章至第十二章)
- <java编程思想>(thing in java) 阅读笔记(第十三章至第十五章)
- 给定一个字符串,你需要颠倒每个单词中的字符顺序,同时仍然保留空白和初始的字顺序。
- 数学笔记30——无穷级数和收敛判定
- socket.io -- 通信
- 用SVM预测股票涨跌
- JAVA将字符串Sat Nov 25 2017 00:00:00 GMT+0800 (中国标准时间)转成标准时间
- 《Thing in java》多态
- STM32 串口ISP下载方式解读
- Cuda入门代码
- Go基础编程:复合类型—切片slice
- linux下安装部署jenkins
- js实现PC端根据IP定位当前城市地理位置
- Spring常用注解,自动扫描装配Bean
- Hadoop集群配置(最全面总结)
- 使用js和layer.js实现漂亮的验证效果