Abstract classes define common behavior and enforce a contract for subclasses.
An abstract class in Java provides a base with abstract methods that must be implemented by subclasses, ensuring they fulfill a certain role. For example, an abstract 'Payment' class might require subclasses like 'CreditCardPayment' and 'PayPalPayment' to implement a 'processPayment' method.
Additional Notes
What role do abstract classes play in inheritance?