Core Java: A private interface method shares code between default methods

A private method in an interface can hold shared logic that several default methods call, without exposing that helper as part of the interface's public contract.

Code
interface Greeter {
    private String base() { return "Hello"; }
    default String formal(String name) { return base() + ", " + name + "."; }
    default String casual(String name) { return base() + " " + name + "!"; }
}
class EnglishGreeter implements Greeter {}
Greeter g = new EnglishGreeter();
System.out.println(g.formal("Ms. Lee"));
System.out.println(g.casual("Sam"));
Output
Hello, Ms. Lee.
Hello Sam!
Advertisement
More in JAVA

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-09-27

© Java Coding Hub · About · Contact · Privacy · Terms