title: Explicitly calling a default method in Java
body: <p>Java 8 introduces <a href="http://cr.openjdk.java.net/~dlsmith/jsr335/jsr335-0.6.2/H.html" rel="noreferrer">default methods</a> to provide the ability to extend interfaces without the need to modify existing implementations.</p>
  
  <p>I wonder if it's possible to explicitly invoke the default implementation of a method when that method has been overridden or is not available because of conflicting default implementations in different interfaces.</p>
  
  <pre><code>interface A {
      default void foo() {
          System.out.println("A.foo");
      }
  }
  
  class B implements A {
      @Override
      public void foo() {
          System.out.println("B.foo");
      }
      public void afoo() {
          // how to invoke A.foo() here?
      }
  }
  </code></pre>
  
  <p>Considering the code above, how would you call <code>A.foo()</code> from a method of class B?</p>