Answer
An abstract class is a class with possible instance state and constructors; an interface primarily defines a type contract. • A class can extend only one direct superclass. • A class can implement multiple interfaces. • Choose an abstract class for shared class state or protected implementation; choose interfaces for roles across class hierarchies.
Example
Code
abstract class Animal {
abstract String sound();
}
interface Trainable {
void train();
}Quick Revision
Abstract classes share class implementation; interfaces define reusable contracts.