An interface in Java is a reference type that defines a contract that can be implemented by classes. It contains only method signatures and constant fields. When a class implements an interface, it inherits the abstract methods and agrees to provide method bodies. Interfaces cannot be instantiated or contain constructors, only classes can be instantiated to implement the behaviors defined in an interface. A class uses the implements keyword to implement one or more interfaces and provide definitions for all of the interface's abstract methods.