An interface in Java is like a class but cannot be instantiated. It defines method signatures and constant values but not method implementations. A class implements an interface by providing method bodies for the abstract methods defined in the interface. Interfaces can extend other interfaces to inherit their methods.