An interface in Java is a reference type similar to a class but can only contain constants, method signatures, default methods, static methods, and nested types. It provides a contract for classes to follow, specifying the methods that implementing classes must provide. Interfaces support multiple inheritance in Java.