java中的绑定、前期绑定、后期绑定三者的概念
来源:互联网 发布:东研网络 同花顺 编辑:程序博客网 时间:2024/05/22 07:41
绑定指的是一个方法的调用与方法所在的类(方法主体)关联起来。
前期绑定:在程序执行前方法已经被绑定,此时由编译器或其它连接程序实现。例如:C。
后期绑定:在运行时根据具体对象的类型进行绑定。
在java中,几乎所有的方法都是后期绑定的,在运行时动态绑定方法属于子类还是基类。但是也有特殊,针对static方法和final方法由于不能被继承,因此在编译时就可以确定他们的值,他们是属于前期绑定的。特别说明的一点是,private声明的方法和成员变量不能被子类继承,所有的private方法都被隐式的指定为final的(由此我们也可以知道:将方法声明为final类型的一是为了防止方法被覆盖,二是为了有效的关闭java中的动态绑定)。java中的后期绑定是有JVM来实现的,我们不用去显式的声明它,而C++则不同,必须明确的声明某个方法具备后期绑定。
精确使用的方法是编译器绑定,在编译阶段,最佳方法名依赖于参数的静态和控制引用的静态类型所适合的方法。在这一点上,设置方法的名称,这一步叫静态重载。
决定方法是哪一个类的版本,这通过由虚拟机推断出这个对象的运行时类型来完成,一旦知道运行时类型,虚拟机就唤起继承机制,寻找方法的最终版本。这叫做动态绑定。
重载函数的实际调用版本由编译器绑定决定,而覆盖函数的实际调用版本由动态绑定决定。
在处理java类中的成员变量时,并不是采用运行时绑定,而是一般意义上的静态绑定。所以在向上转型的情况下,对象的方法可以找到子类,而对象的属性还是父类的属性。
最简单的办法是将该成员变量封装成方法getter形式。
0 0
- java中的绑定、前期绑定、后期绑定三者的概念
- java中的前期绑定和后期绑定
- java的前期绑定和后期绑定
- java 的前期绑定和后期绑定
- Java的前期绑定和后期绑定
- java 前期绑定,后期绑定
- 绑定,前期绑定,后期绑定
- java的前期绑定和后期绑定使用示例
- Java的前期绑定和后期绑定[新]
- Java的前期绑定和后期绑定[新]
- [Think in java] 前期绑定和后期绑定(转)
- Java前期(静态)绑定和后期(动态)绑定
- Java前期(静态)绑定和后期(动态)绑定
- Java前期(静态)绑定和后期(动态)绑定
- 前期绑定与后期绑定的一点理解
- 关于语言的前期绑定与后期绑定
- Java中前期绑定和后期绑定的一些经典例子
- 方法调用绑定--前期绑定和后期绑定
- GRE写作必备句型
- LeetCode49:Anagrams
- rac_生产库日志组损坏处理
- 在web中经常要校验输入float型数据,形如0001.33的也常常被判断为float型,如何才能正确校验为1.33型??
- [LeetCode][Java] First Missing Positive
- java中的绑定、前期绑定、后期绑定三者的概念
- 初步了解EF
- PhoneGap开发对策:如何通过苹果审核
- ListView的Item中子控件抢占焦点的两种解决办法
- ExtJS5.0的加载过程
- Android 同步代码块,synchronized加锁
- MYSQL学习笔记(六)之子查询
- PCIe及USB传输速度小结
- iOS应用主流UI架构实现