The implementation of functional programming principles in Java has started with the use of anonymous inner classes. Starting with Java 1.7, an abstract method of a certain interface now can be implemented using anonymous inner classes, and even without using the implements keyword, given that it has only one abstract method.