title: Inheriting default methods with the same name in the class without any compilation error
body: <p>How a class can implement two interfaces with the same default method in Java 8.
  I was not able to get the concept behind the same default method from different interfaces getting inherited in the sub class.Please explain the issue.</p>
  
  <pre><code>interface House {
      default String getAddress() {
          return "101 Main Str";
      }
  }
  
  interface Bungalow extends House {
      default String getAddress() {
          return "101 Smart Str";
      }
  }
  
  class MyHouse implements Bungalow, House {
  
  }
  
  public class TestClass {
      public static void main(String[] args) {
          House ci = new MyHouse();  //1
          System.out.println(ci.getAddress()); //2
      }
  }
  </code></pre>
  
  <p>In the above code <code>default</code> method <code>getAddress()</code> in interface House is present.another method with the same name is declared as default in the extending interface Bungalow </p>
  
  <p>How class <code>MyHouse</code> can implement both the interfaces without any compilation error(because it doesn't know which method has the preference in that case implementing should fail.)</p>
  
  <p>If i call <code>new MyHouse().getAddress()</code>; gives compile error but it should give compilation error even without method calling from MyHouse class.</p>