Q14: What are Default, Static, and Private methods in Java Interfaces?

  • Default Methods (Java 8+): Methods declared with default keyword providing concrete method bodies. Enables API evolution without breaking existing interface implementations.
  • Static Methods (Java 8+): Utility methods attached directly to the interface scope.
  • Private Methods (Java 9+): Encapsulated helper methods used internally inside default or static interface methods.
Modern Interface Features
public interface Logger {
    void log(String message); // Abstract

    default void logWarning(String msg) { // Default
        formatAndPrint("WARN", msg);
    }

    private void formatAndPrint(String level, String msg) { // Private (Java 9+)
        System.out.println("[" + level + "]: " + msg);
    }
}
💡 Default methods provide implementation logic while private methods cleanly isolate helper logic.
Key Takeaways
  • default methods allow adding new interface methods safely.
  • private methods encapsulate shared internal logic inside interfaces.
Knowledge Check

Why were default methods introduced in Java 8?