title: What is the "default" implementation of method defined in an Interface?
body: <p>In the Collection Interface I found a method named <code>removeIf()</code> that contains its implementation.    </p>
  
  <pre><code>default boolean removeIf(Predicate&lt;? super E&gt; filter) {
      Objects.requireNonNull(filter);  
      boolean removed = false;  
      final Iterator&lt;E&gt; each = iterator();   
      while (each.hasNext()) {  
          if (filter.test(each.next())) {  
              each.remove();  
              removed = true;  
          }  
      }  
      return removed;  
  }  
  </code></pre>
  
  <p>I want to know if there is any way to define method body in an interface?<br>
  What is the <code>default</code> keyword and how does it work?   </p>