Method Overriding in Java | Same name and parameters | Java inheritance | Java For Beginner | Overriding.



Method Overriding

In a class hierarchy, when a method in a subclass has the same name and type signature as a method in its superclass, then the method in the subclass is said to override the method in the superclass.

When an overridden method is called from within a subclass, it will always refer to the version of that method defined by the subclass. The version of the method defined by the superclass will be hidden. 

Example:-


// Method overriding.
class A
{
   int i, j;
   A(int a, int b)
   {
      i = a;
      j = b;
   }
   // display i and j
   void show()
   {
      System.out.println("i and j: " + i + " " + j);
   }
}
class B extends A
{
   int k;
   B(int a, int b, int c)
   {
      super(a, b);
      k = c;
   }
   // display k – this overrides show() in A
   void show()
   {
      System.out.println("k: " + k);
   }
}
class Override
{
   public static void main(String args[])
   {
       B subOb = new B(1, 2, 3);
      subOb.show(); // this calls show() in B
   }
}


The output :- 


k: 3



When show( ) is invoked on an object of type B, the version of show( ) defined within B is used. That is, the version of show( ) inside B overrides the version declared in A.

If You Want to Call The superclass show method then you can called through  Super keyword like.....

Super.show();


Related Posts:-

Post a Comment

2 Comments

  1. To Overcome Method Overriding What to do?

    ReplyDelete
    Replies
    1. to overcome we used dynamic method dispatch ..i have make one post on these Topic.

      Delete