绑定是一种在方法调用和方法实际实现之间创建链接的机制。根据 Java 中的多态性概念,对象 可以有多种不同的形式。对象形式可以在编译时和运行时解析。

Java静态绑定

静态绑定是指在编译时解决方法调用和方法实现之间的链接的过程。 静态绑定也称为编译时绑定或早期绑定。

Java静态绑定的特征

  • 链接 - 方法调用和方法实现之间的链接在编译时解决。

  • 解析机制 - 静态绑定使用类和字段的类型来解析绑定。

  • 示例 - 方法重载是静态绑定的示例。

  • 方法类型 - private、final和静态方法和变量使用静态绑定。

Java静态绑定示例

在此示例中,我们创建了一个Calculator类,它有两个方法名相同的静态方法但是参数不同,它们分别是两个参数和三个参数。在 main() 方法中,我们调用这些方法并打印结果。根据传递的参数数量,编译器决定使用静态绑定的方法,并相应地打印结果。

package com.yxjc123;

class Calculator{
   public static int add(int a, int b){
      return a + b;
   }
   public static int add(int a, int b, int c){
      return a + b + c;
   }
}

public class Tester {
   public static void main(String args[]){
      System.out.println(Calculator.add(20, 40));
      System.out.println(Calculator.add(40, 50, 60));
   }
} 

输出

60
150 

Java 静态绑定:更多示例

示例 1

在此示例中,我们创建了一个 Calculator 类,该类具有两个名称相同但参数不同的非静态方法,分别用于添加两个和三个 int 值。在 main() 方法中,我们使用 Calculator 类的对象调用这些方法并打印结果。根据传递的参数数量,编译器决定使用静态绑定的方法,并相应地打印结果。

package com.yxjc123;

class Calculator{
   public int add(int a, int b){
      return a + b;
   }
   public int add(int a, int b, int c){
      return a + b + c;
   }
}

public class Tester {
   public static void main(String args[]){
      Calculator calculator = new Calculator();   
      System.out.println(calculator.add(20, 40));
      System.out.println(calculator.add(40, 50, 60));
   }
} 

输出

60
150 

示例 2

在此示例中,我们创建了一个 Calculator 类,该类具有两个名称相同但参数类型不同的非静态方法,分别用于将两个 int 值和两个 double 值相加。在 main() 方法中,我们使用 Calculator 类的对象调用这些方法并打印结果。根据传递的参数类型,编译器决定使用静态绑定的方法,并相应地打印结果。

package com.yxjc123;

class Calculator{
   public int add(int a, int b){
      return a + b;
   }
   public double add(double a, double b){
      return a + b;
   }
}

public class Tester {
   public static void main(String args[]){
      Calculator calculator = new Calculator();   
      System.out.println(calculator.add(20, 40));
      System.out.println(calculator.add(20.0, 40.0));
   }
} 

输出

60
60.0