OOP & InterfacesBeginner
1Question 1 of 1
javaHow do abstract classes and interfaces differ in modern Java?
Explanation & Concept
• Abstract Classes: Represent an 'is-a' relationship. Can define instance fields, state, and constructors, and classes can only inherit from one abstract class (single inheritance). • Interfaces: Represent a 'can-do' capability contract. Classes can implement multiple interfaces. Since Java 8, interfaces can contain `default` and `static` methods, and Java 9 added `private` methods.
Code Example
java
public interface Auditable {
// Default method provides default behavior without breaking implementers
default void logAudit(String action) {
System.out.println("AUDIT [" + System.currentTimeMillis() + "]: " + action);
}
}
public abstract class BaseEntity {
private final String id;
public BaseEntity(String id) { this.id = id; }
public String getId() { return id; }
}
public class Order extends BaseEntity implements Auditable {
public Order(String id) { super(id); }
}How It Works & Key Takeaways
Java allows multiple interface inheritance, letting `Order` inherit identity from `BaseEntity` while adopting auditing capabilities from `Auditable`.
Mock Test · 1 Questions · Optional
Ready for Exception Handling?
Take a quick test to evaluate yourself, or move straight to the next module.
Beginner2 questions