Interfaces and Classes
Interfaces, like classes, are declared in source files, one interface to a file. Like classes, they also are compiled using the Java compiler into .class files.
Interfaces complement and extend the power of classes, and the two can be treated almost exactly the same.
One of the few differences between them is that an interface cannot be instantiated: new can only create an instance of a class.