title: Methods with the same signature but different return type in two interfaces
body: <p>I have two interfaces :</p>
  
  <pre><code>interface S {
      public String m1();
  }
  
  interface O {
      public Object m1();
  }
  </code></pre>
  
  <p>I decide to implement both O and S in a class Test :</p>
  
  <pre><code>class Test implements O, S {
  
  }
  </code></pre>
  
  <p>My question : </p>
  
  <p>Why must I only implement the method <code>public String m1()</code> and not the other ?
  And secondly, why can't I implement <code>public Object m1()</code> instead of <code>public String m1()</code> ?</p>