An interface in Java is a blueprint of a class that defines static constants and abstract methods. Interfaces are implemented by classes where they inherit the properties and must define the body of the abstract methods. Key points are: - Interfaces can only contain abstract methods and static constants, not method bodies. - Classes implement interfaces to inherit the properties and must define the abstract method bodies. - An interface can extend other interfaces and a class can implement multiple interfaces.