title: how to check a method override or not
body: <p>i have two question 
  1 overriding 
  2 compile time binding<br>
  hi i want to know that how i can check that sh() become override </p>
  
  <p>is method argument play any role in method overriding ?</p>
  
  <p>why we say that static method bind at compile time but actually static method allocate memory at the class loading time ?
  when i  use javac tool that means i use compiler and i compile a java file ,so that moment static memory not allocate ,static memory allocate a class loading time 
  then why say that static method use compile  time binding </p>
  
  <p>is class loading time same as compile time ? 
  i am confuse</p>
  
  <p>i know here method signature is different so no override here than what actually happens here explain   </p>
  
  <pre><code>class A
      {
          void sh(char x){
          System.out.println("value of x :  "+x);
          }
      }
      class B extends A
      {
          public void sh(int x)
          {
              System.out.println("value of x"+x);
          }
      }
      class C
      {
          public static void main(String...Aa) /* ??? */
          {
              A a1=new B();
              //a1.show();
              a1.sh('a');
              a1.sh(10);
          }
      } 
  </code></pre>