Interview Question

abstract class vs interface?

Abstract classes share class implementation; interfaces define reusable contracts.

💡 Concept ✅ Quick Revision ☕ Java

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.