黑马程序员技术交流社区

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

作者: 孙建志    时间: 2015-11-5 15:31
标题: 多态中的动态绑定和静态绑定
在多态中:成员变量和静态方法编译和运行都看左边;成员方法编译看左边,运行看右边,这是为什么;
在Java中存在两种绑定方式,一种为静态绑定,又称作早期绑定。另一种就是动态绑定,亦称为后期绑定
1.静态绑定发生在编译时期,动态绑定发生在运行时
2.使用private或static或final修饰的变量或者方法,使用静态绑定。而虚方法(可以被子类重写的方法)则会根据运行时的对象进行动态绑定。
3.静态绑定使用类信息来完成,而动态绑定则需要使用对象信息来完成。
4.重载(Overload)的方法使用静态绑定完成,而重写(Override)的方法则使用动态绑定完成。
5.静待绑定是在编译时就已经确定该使用哪个变量或调用哪个方法;动态绑定是在运行是确认调用哪个方法更合适,是一个选择的过程,因为在多态中子类会重写父类的方法,这样就会出现多个重名的方法,在调用时会根据子类对象确认哪个方法更适合子类对象
作者: 孙建志    时间: 2015-11-5 16:43
赞!!!
作者: 小笨笨天    时间: 2015-11-5 16:46
学习了6666666
作者: 刘旭波    时间: 2015-11-5 17:26
感谢分享知识
作者: 1277886228    时间: 2015-11-5 22:27
谢谢分享




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