解释Java中静态绑定和动态绑定之间的区别。

在静态绑定中,方法调用在编译时与方法主体绑定。这也称为早期绑定。这是使用静态,私有和最终方法完成的。

示例

class Super{
   public static void sample(){
      System.out.println("This is the method of superclass");
   }
}
Public class Sub extends Super{
   Public static void sample(){
      System.out.println("This is the method of subclass");
   }
   Public static void main(String args[]){
      Sub.sample()
   }
}

输出结果

This is the method of subclass

在动态绑定中,方法调用在运行时与方法主体绑定在一起,这也称为后期绑定。这是使用实例方法完成的。

示例

class Super{
   public void sample(){
      System.out.println("This is the method of superclass");
   }
}
Public class extends Super{
   Public static void sample(){
      System.out.println("This is the method of subclass");
   }
   Public static void main(String args[]){
      new Sub().sample()
   }
}

输出结果

This is the method of subclass