Interfaces and Abstract Classes — Free Java Tutorial
Learn Interfaces and Abstract Classes in Java with a free, beginner-friendly tutorial, examples and practice for Indian students on Syllab.in.
TL;DR: Learn Interfaces and Abstract Classes in Java with a free, beginner-friendly tutorial, examples and practice for Indian students on Syllab.in.
Written & reviewed by the Syllab.in Academic Team (CBSE/NCERT subject experts) · Updated
Interfaces and Abstract Classes in Java
An interface in Java is a contract — it defines what methods a class MUST implement, without specifying how. It's Java's way of achieving full abstraction. A class can implement multiple interfaces (unlike inheritance, which is single-parent).
Abstract class: A partially implemented class that can't be instantiated directly. Contains both abstract methods (must be implemented by subclasses) and concrete methods (already implemented). Use when you want to share code among related classes.
Interface vs Abstract class: Interface for "can-do" relationships (a Car can drive, a Boat can navigate — different hierarchies implementing the same capability). Abstract class for "is-a" relationships with shared code (Dog and Cat are both Animals with shared behaviour).
Interfaces and Abstract Classes — Syntax
// Interface definition
interface Printable {
void print(); // abstract — no body
default void save() { // default method — has body
System.out.println("Saving...");
}
}
// Implementing an interface
class Report implements Printable {
public void print() { System.out.println("Printing report"); }
}
Learn Interfaces and Abstract Classes step by step with Syllab's free interactive Java tutorial — runnable code examples, practice exercises and instant AI feedback, all free with no signup. Explore the full Java course →