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


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

序号
要点
静态绑定
动态绑定

1

基本 

在编译时解决 

在运行时解决 

2

        解决机制 

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

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

3

示例 

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

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

4.

方法的类型 

私有的、final 和 static 方法和变量使用静态绑定

虚方法使用动态绑定 

静态和动态绑定的示例

public class FastFood {
   public void create() {
      System.out.println("Creating in FastFood class");
   }
}
public class Pizza extends FastFood {
   public void create() {
      System.out.println("Creating in Pizza class");
   }
}
public class Main {
   public static void main(String[] args) {
      FastFood fastFood= new FastFood();
      fastFood.create();
      //Dynamic binding
      FastFood pza= new Pizza();
      pza.create();
   }
}

更新日期:2020 年 1 月 21 日

1.4 万+ 次浏览

开始你的职业生涯职业生涯

完成课程即可获得认证

开始
广告