title: why output String passed not object
body: <pre><code>public class test {
  public static void main(String[] args) {
      magic(null);
  }
  
  public static void magic(String s) {
      System.out.println("String passed");
  }
  
  public static void magic(Object o) {
      System.out.println("object passed");
  }
  }
  </code></pre>
  
  <p>why string passed printed not object passed.</p>