Java静态绑定和动态绑定的相关说明
Java静态绑定和动态绑定的相关说明
Java中的绑定有以下两种类型:
- 静态绑定(早期绑定)
- 动态绑定(后期绑定)
静态绑定
当编译时(由编译器)确定对象的类型时,称之为静态绑定。
当在类中有任何private
,final
或static
方法,则有静态绑定
例:静态绑定
class parentClass{
private void printInfo() {
System.out.println("parentClass");
}
public static void main(String args[]) {
parentClass t1 = new parentClass();
t1.printInfo();
}
}
动态绑定
代码运行时,才能确定其对象的类型,我们将此种操作称之为"动态绑定"
例:动态绑定
class parentClass{
void printInfo() {
System.out.println("parentClass");
}
}
class subClass extends parentClass{
void printInfo() {
System.out.println("subClass");
}
public static void main(String args[]) {
parentClass a = new subClass();
a.printInfo();
}
}
-----运行以上代码,将输出以下信息----
subClass
但是代码编译时无法确定其类型,因为 a 示例 是一个parentClass 和 subClass的实例,编译器不知其类型,只知道它的基类
版权声明
本文仅代表作者观点,不代表本站立场。
本文系作者授权发表,未经许可,不得转载。