Explain the difference between static and dynamic binding in Java.

Java 8Object Oriented ProgrammingProgramming

In static binding the method call is bonded with the method body at compile time. This is also known as early binding. This is done using static, private and, final methods.

Example

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

Output

This is the method of subclass

In dynamic binding the method call is bonded with the method body at run time.This is also known as late binding. This is done using instance methods.

Example

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

Output

This is the method of subclass
raja
Published on 05-Jul-2019 09:10:08
Advertisements