In Java, an interface is a blueprint that defines abstract methods, which implementing classes must provide. From Java 8, interfaces can also have default and static methods with implementations. They also enable multiple inheritance.
6.2 Interface.docx