JAVA虚拟机调用一个类方法时,它会基于对象引用的类型(通常在编译时可知)来选择所调用的方法.相反,当虚拟机调用一个实例方法时,它会基于对象实际的类型(只能在运行时得知)来选择所调用的方法,这就是动态绑定,是多态的一种.动态绑定为解决实际的业务问题提供了很大的灵活性,是一种非常优美的机制. 1 JAVA对象模型 JAVA虚拟机规范并没有规定JAVA对象在堆里是如何表示的.对象的内部表示也影响着整个堆以及垃圾收集器的设计,它由虚拟机的实现者决定. JAVA对象中包含的基本数据由它所属的类及其所有…