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(); } }