摘要: 16、对于非面向对象的编程,它产生的函数调用会引起“前期绑定”。编译器产生对一个具体函数名字的调用,而连接器将这个调用解析到将要被执行的代码的绝对地址。相反地,在面向对象编程中采用了“后期绑定”,当对象发送消息时,被调用的代码直到运行时才能被确定。为了执行后期绑定,Java采用一段特殊的代码来替代绝对地址调用。这段代码使用在对象中存储的信息来计算方法体的地址。
(多态,或者说是向上转型。他忽略了类型的具体细节,仅仅和基类交互。这很符合我们人类的思维习惯,比如你会开车,那么给你一辆奔驰你肯定能开,宝马也可以。只需说我在开车,而不必说我在开奔驰开宝马。当然你可以这么说,炫耀一下也不是错^_^,Java允许你这么做。)
阅读全文