Q14: What are Default, Static, and Private methods in Java Interfaces?
- Default Methods (Java 8+): Methods declared with
defaultkeyword 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
defaultmethods allow adding new interface methods safely.privatemethods encapsulate shared internal logic inside interfaces.
Knowledge Check
Why were default methods introduced in Java 8?