package java.util; // Java 8: Definition as a FunctionalInterface @FunctionalInterface public interface Comparator { // This is THE method in the FunctionalInterface int compare(T o1, T o2); //Java 8: Static methods with implementation in the interface public static Comparator comparing( Function keyExtractor, Comparator keyComparator) { [...] } // Java 8: Default implementation in the interface default Comparator reversed() { return Collections.reverseOrder(this); } }