Ett interface i Java beskriver ett kontrakt för vilka operationer en typ erbjuder. Klasser kan implementera samma interface och ge operationerna olika beteenden.
Ett interface Ritbar kan exempelvis kräva metoden rita(). Både en cirkelklass och en rektangelklass kan implementera kontraktet. Koden som anropar rita() behöver då inte känna till den konkreta formen.
Ett interface är inte en klass. Det kan även innehålla bland annat standardmetoder med implementation; det behöver alltså inte enbart bestå av metoddeklarationer.