java的绑定

对于java来说,绑定分为动态绑定和静态绑定

静态绑定就是在程序编译的时候的绑定,java中只有final,static,private是静态绑定。

动态绑定就是在程序运行的时候的绑定,

动态绑定的过程:

虚拟机提取对象的方法列表,

搜索方法签名,

调用方法。

java中的多态和向上转型是依靠多态绑定实现的 。

Dog d = new Animal();

p.run();

动态绑定过程:

1,编译器会列举dog的run()方法和所有从animal继承来的run方法

2,编译器会通过参数类型和方法名挑选出最符合的run方法,重载解析

3.运行时候去调用方法


你可能感兴趣的:(java,虚拟机,编译器)