Abstract classes
Classes that cannot be instantiated directly but serve as templates for subclasses. Abstract classes define common structure and abstract methods that subclasses must implement. This pattern enforces implementation contracts while providing shared code.
Real World
Google's Android SDK defines an abstract Activity class that every app screen must extend — developers override methods like onCreate() while inheriting shared lifecycle behaviour.
Exam Focus
State that abstract classes cannot be instantiated and that subclasses must implement all abstract methods.
How well did you know this?