java动态绑定
2015-11-11 18:10
281 查看
java中调用方法的过程如下:
1)编译器查看对象的声明类型和方法名,假设为C类型,名字为f,列举所有类C中名为f的方法和超类中所有访问属性为public且名为f的方法
2)根据传递的参数类型进行方法的选择,这个过程称为重载解析,如果编译器没有找到参数类型匹配的方法,或者经过类型转换后有多个方法与之匹配,则报错
3)与动态绑定对应的静态绑定,指的是private、static、final方法的调用
4)在第2)步中的搜索过程如下:
虚拟机为每个类创建一个方法表,其中列出所有方法的签名和实际调用的方法,之后调用直接查找方法表进行调用。
1)编译器查看对象的声明类型和方法名,假设为C类型,名字为f,列举所有类C中名为f的方法和超类中所有访问属性为public且名为f的方法
2)根据传递的参数类型进行方法的选择,这个过程称为重载解析,如果编译器没有找到参数类型匹配的方法,或者经过类型转换后有多个方法与之匹配,则报错
3)与动态绑定对应的静态绑定,指的是private、static、final方法的调用
4)在第2)步中的搜索过程如下:
虚拟机为每个类创建一个方法表,其中列出所有方法的签名和实际调用的方法,之后调用直接查找方法表进行调用。
相关文章推荐
- java.lang.ClassNotFoundException: How to resolve
- java.sql.SQLRecoverableException: IO Error: Got minus one from a read call
- java中的枚举类学习
- WebSphereMq使用JMS发送消息和接收消息
- Spring MVC测试框架详解——服务端测试
- java自带线程池和队列详细讲解
- JAVA字符串格式化-String.format()的使用
- Java 中继承了父类的一些问题、String.CopyTo方法的具体用法
- spring无法扫描jar包的问题
- jdk高版本切换低版本之后,版本号不变,解决办法
- 读书笔记之《Java并发编程的艺术》-java中的锁
- 读书笔记之《Java并发编程的艺术》-并发编程容器和框架(重要)
- 读书笔记之《Java并发编程的艺术》-线程池和Executor的子孙们
- 读书笔记之《Java并发编程的艺术》-并发编程基础
- JVM 并发性: Java 和 Scala 并发性基础
- java证书问题
- java之线程
- ubuntu14.04 安装JDK1.8
- Spring MVC Controler层获取errors验证信息 同时返回
- myeclipse 鼠标在一个类里面点击一下,对应的包会自动展开