Interfaces can provide method bodies, so implementations inherit shared behavior.
interface Greeter {
String name();
default String greet() { return "Hello, " + name() + "!"; }
}
Greeter g = () -> "Ava";
System.out.println(g.greet());
Hello, Ava!
Run this yourself in the Online Java Compiler, spin up a live REST API in the API Sandbox, or practise with Java interview questions.
Published 2026-07-26