美文网首页
程序绑定

程序绑定

作者: 小船儿爱学习 | 来源:发表于2020-11-23 22:22 被阅读0次

绑定

指一个方法的调用与方法所在的类(方法主体)关联起来。对Java来说,绑定分为静态绑定(编译期绑定)和动态绑定(运行期绑定)。

静态绑定

在程序执行前方法已经被绑定,也就是说在编译过程中就已经知道这个方法到底是哪个类中的方法,此时由编译器或其它连接程序实现。这里特别说明一点,Java当中只有final,static,private修饰的方法和构造方法是静态绑定。

动态绑定

在运行时根据具体对象的类型进行绑定。需要明确的是,动态绑定针对的范畴只是对象的方法。动态绑定的过程如下:
1、虚拟机提取对象的实际类型的方法表。
2、虚拟机搜索方法签名。
3、调用方法。

总结

JAVA 虚拟机调用一个类方法时(静态方法),它会基于对象引用的类型(通常在编译时可知)来选择所调用的方法。相反,当虚拟机调用一个实例方法时,它会基于对象实际的类型(只能在运行时得知)来选择所调用的方法,这就是动态绑定,是多态的一种。动态绑定为解决实际的业务问题提供了很大的灵活性,是一种非常优美的机制。

与方法不同,在处理Java类中的成员变量(实例变量和类变量)时,并不是采用运行时绑定,而是一般意义上的静态绑定。所以在向上转型的情况下,对象的方法可以找到子类,而对象的属性(成员变量)还是父类的属性(子类对父类成员变量的隐藏)。

综上,静态绑定针对的范畴包含private、final、static修饰的方法以及成员变量(包含实例变量和类变量);动态绑定针对的范畴只是实例方法。

相关文章

  • 程序绑定

    绑定 指一个方法的调用与方法所在的类(方法主体)关联起来。对Java来说,绑定分为静态绑定(编译期绑定)和动态绑定...

  • 【总结】2017.01.06

    2017.01.06 - 计划 探讨小程序的绑定传参 看小程序案例 分享会 - 实际完成 探讨小程序的绑定传参 看...

  • 微信小程序获取unionid

    小程序能够获取到unionid的前提 1.小程序必须绑定在微信开放平台上,不绑定是没有的(PS:绑定开放平台需要开...

  • Javascript中事件处理程序

    1、在DOM中,直接用onXXX="fun();"进行绑定(HTML中直接绑定) 事件绑定 事件处理程序var f...

  • 小程序学习笔记-小程序和Vue比较

    最近在研究小程序和vue,发现vue和小程序很多地方都很相似,但是vue的双向数据绑定却比小程序的单向数据绑定好用...

  • 绑定的概念、静态绑定与动态绑定、存储绑定

    绑定就是一种关联。绑定发生的时间称为绑定时间。在程序设计语言语义中,绑定和绑定时间是相当重要的概念。 绑定时间 类...

  • 多态:动态绑定

    动态绑定 程序绑定的概念:绑定指的是一个方法的调用与方法所在的类(方法主体)关联起来。对java来说,绑定分为静态...

  • 【Python】绑定修改网卡绑定关系的python程序

    标签: <绑定修改网卡绑定关系的python程序>python -s ethx -l hostname 用来查看网...

  • 微信小程序和Vue的区别

    单向绑定 & 双向绑定 微信小程序只支持单向绑定,如果需要修改data的值,只能通过setData操作。Vue可以...

  • JAVA动态绑定与静态绑定

    程序绑定的概念: 绑定指的是一个方法的调用与方法所在的类(方法主体)关联起来。对java来说,绑定分为静态绑定和动...

网友评论

      本文标题:程序绑定

      本文链接:https://www.haomeiwen.com/subject/dccbiktx.html