在Java中存在两种绑定方式,一种为静态绑定,又称作早期绑定。另一种就是动态绑定,亦称为后期绑定。
区别对比
- 静态绑定发生在编译时期,动态绑定发生在运行时
- 使用private或static或final修饰的变量或者方法,使用静态绑定。而虚方法(可以被子类重写的方法)则会根据运行时的对象进行动态绑定。
- 静态绑定使用类信息来完成,而动态绑定则需要使用对象信息来完成。
- 重载(Overload)的方法使用静态绑定完成,而重写(Override)的方法则使用动态绑定完成。
在Java中存在两种绑定方式,一种为静态绑定,又称作早期绑定。另一种就是动态绑定,亦称为后期绑定。