Java 8: Default methods in interfaces

Interfaces can provide method bodies, so implementations inherit shared behavior.

Code
interface Greeter {
    String name();
    default String greet() { return "Hello, " + name() + "!"; }
}

Greeter g = () -> "Ava";
System.out.println(g.greet());
Output
Hello, Ava!
Advertisement

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