title: Java 8 use one interface to implement methods in another
body: <p>Apologies if duplicate, don't know the right terminology for this question, so I didn't find anyone asking something similar. </p>
  
  <p>I have two interfaces. Lets say Canine and Pet.
  Pet has a play method, which is abstract. 
  Canine does NOT extend Pet. It has a default play method though, which matches the play method signature of Pet. </p>
  
  <p>Dog is a class that implements both Canine and Pet. 
  Dog would like to use Canine's default play method. </p>
  
  <p>How would i go about implementing this cleanly? The only way I see is if I do something silly like this</p>
  
  <pre><code>class Dog implements Canine, Pet{
      public Dog(){
      }
      @Override
      public void play (String greeting) {
          Canine.super.play(greeting);
      }
  
  }
  
  interface Canine {
      default void play (String greeting) {
          System.out.println(greeting);
      }
  }
  
  interface Pet {
      void play (String greeting);
  }
  </code></pre>
  
  <p>From what i can tell, in C++ you can declare that a class uses the default implementation of a method, instead of implementing it in said class. Is there a way to do something similar in java 8?</p>