Due to Dynamic Method Dispatch, on creating an object using Superclass reference and calling a method through this object that has been overridden in the subclass, the overridden method in subclass will be called instead of the original method in the super class. What will be the case if the overridden method has been overridden again in a further subclass?
For example let's say A is the parent class, B extends A and C extends B. Let's say a method void m1() has been written in A and then it is overridden in B and then again overridden in C. Now if we create and an object as follows-
A obj = new B();
obj.m1();
which method will be called? The one in B or the one in C?