java中的静态绑定与动态绑定
2017-06-19 16:56
274 查看
http://blog.csdn.net/u012420654/article/details/51945853
http://blog.csdn.net/zhangjk1993/article/details/24066085
Java的方法调用过程:
编译器查看对象的声明类型和方法名(对象变量的声明类型),通过声明类型找到方法列表。
编译器查看调用方法时提供的参数类型。
如果方法是private、static、final或者构造器,编译器就可以确定调用那个方法。这是静态绑定。
如果不是上述情况,就要使用运行时(动态)绑定。在程序运行时,采用动态绑定意味着:虚拟机将调用对象实际类型所限定的方法。
静态绑定,又称前期绑定,编译时绑定。表示编译期进行的绑定,即程序运行前方法已被绑定。
只有 final,static,private 修饰的方法,成员变量,和构造方法是静态绑定:
动态绑定,又称后期绑定,运行时绑定;表示在运行时根据具体对象的类型进行绑定。
动态绑定的过程:
虚拟机提取对象的实际类型的方法表;
虚拟机搜索方法签名;
调用方法。
http://blog.csdn.net/zhangjk1993/article/details/24066085
Java的方法调用过程:
编译器查看对象的声明类型和方法名(对象变量的声明类型),通过声明类型找到方法列表。
编译器查看调用方法时提供的参数类型。
如果方法是private、static、final或者构造器,编译器就可以确定调用那个方法。这是静态绑定。
如果不是上述情况,就要使用运行时(动态)绑定。在程序运行时,采用动态绑定意味着:虚拟机将调用对象实际类型所限定的方法。
静态绑定,又称前期绑定,编译时绑定。表示编译期进行的绑定,即程序运行前方法已被绑定。
只有 final,static,private 修饰的方法,成员变量,和构造方法是静态绑定:
动态绑定,又称后期绑定,运行时绑定;表示在运行时根据具体对象的类型进行绑定。
动态绑定的过程:
虚拟机提取对象的实际类型的方法表;
虚拟机搜索方法签名;
调用方法。
相关文章推荐
- Java程序绑定:动态与静态
- java中的动态绑定和静态绑定
- Java域隐藏、静态方法隐藏、动态绑定、静态绑定
- JAVA里面的 静态绑定与动态绑定 杂谈
- Java语言基础之静态绑定and动态绑定
- java的动态绑定与静态绑定
- java静态绑定和动态绑定(转载)
- java静态绑定和动态绑定小结
- c++动态绑定、静态绑定与java中动态绑定与静态绑定的比较
- Java中的静态绑定和动态绑定详细介绍
- java中动态绑定与静态绑定
- java的动态绑定 与静态绑定
- java的动态绑定和静态绑定
- Java静态绑定与动态绑定
- Java的动态绑定、静态绑定和this、super
- java的动态绑定与静态绑定
- Java中的静态绑定和动态绑定详细介绍
- java的动态绑定和静态绑定
- Java的动态绑定与静态绑定
- java的动态绑定与静态绑定