I hope it helps, this is how i understand it. See the code below.
class Base
{
static void show() { System.out.println("Base show"); }
}
class child extends Base
{
static void show() { System.out.println("Child show");}
public static void main(
String [] args)
{
Base b = new child();
b.show(); // invokes the base method instead of child method
}
In non-static methods(overriding), the child would be called.In overriding, u can invoke the overridden method using super() only. Here (in hiding), u could invoke the overridden method. This is what i read - might give u some insight.