ABSTRACT

Java was originally designed to have classes that contained methods and interfaces, but not functions. In order to use these legacy classes, Java 8 defined functional interfaces to be interfaces that had exactly one abstract method and allowed a function to be used in place of that method. No such accommodation was needed for Python or Scala.