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();
}
}
广告
数据结构
网络
RDBMS
操作系统
Java
iOS
HTML
CSS
Android
Python
C 编程
C++
C#
MongoDB
MySQL
Javascript
PHP