Java 中静态绑定和动态绑定的区别

javaobject oriented programmingprogramming

绑定是一种在方法调用和方法实际实现之间创建链接的机制。根据 Java 中的多态性概念,对象可以有多种不同的形式。对象形式可以在编译时和运行时解析。如果方法调用和方法实现之间的链接在编译时解析,则我们称之为静态绑定,如果在运行时解析,则称之为动态绑定。动态绑定使用对象来解析绑定,而静态绑定使用类和字段的类型。

Sr.否。
密钥
静态绑定
动态绑定

1

基本 

在编译时解析 

在运行时解析 

2

解析机制 

 静态绑定使用类和字段的类型

动态绑定使用对象来解析绑定 

3

示例 

重载是静态绑定的一个示例 

方法覆盖是动态绑定的一个示例 

4.

方法类型 

private, final并且静态方法和变量使用静态绑定

虚拟方法使用动态绑定 

静态和动态绑定示例

public class FastFood {
   public void create() {
      System.out.println("Creating in FastFood class");
   }
}
public class Pizza extends FastFood {
   public void create() {
      System.out.println("在 Pizza 类中创建");
   }
}
public class Main {
   public static void main(String[] args) {
      FastFood fastFood= new FastFood();
      fastFood.create();
      //动态绑定
      FastFood pza= new Pizza();
      pza.create();
   }
}

相关文章