黑马程序员技术交流社区

标题: 静态绑定和动态绑定 [打印本页]

作者: 朱烈葵    时间: 2012-9-6 12:55
标题: 静态绑定和动态绑定
下面是我对静态绑定和动态绑定的一点理解,不足之处,大家补上
先说明下场景  父类  子类  父类和子类里面都有静态函数也有非静态函数
父类 父类引用 = new 子类(); 父类引用调用了静态函数,这打出来是父类的还是子类的呢?
结果:父类的,由于static 的特性,优先于对象存在,当创建子类对象的时候,先加载父类的类,就在这个时候静态和该类,进行绑定,这就是动态绑定,只要这个父类引用还在就一直绑定在上面。
那么非静态绑定呢,当调用非静态函数的时候,这个时候对象出来了,new出来是子类,就动态的绑定到子类的方法上,如果是父类的,及动态的绑定到父类的方法上,这就是动态绑定,前提是该函数是非静态的。

最后引用毕老师的一句话,成员函数在多态时,编译看左边,运行看右边 非静态情况

无论编译和运行都看左边(该有引用所属的类) 静态情况



作者: 许庭洲    时间: 2012-9-6 12:59
值得学习ing!




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2