An abstract class does not have a fixed number of abstract methods it must contain. It can have:
- Zero or more abstract methods (methods declared without a body, meant to be implemented by subclasses).
- Regular (concrete) methods with implementations.
- Fields and constructors.
You can declare a class as abstract even if it has no abstract methods, simply to prevent it from being instantiated directly and to serve as a base class for other classes. This is common in some design patterns and frameworks
Key points:
- An abstract class may have no abstract methods at all but still be declared abstract to prevent direct instantiation or to provide common code to subclasses
- When an abstract class contains abstract methods, all those abstract methods must be implemented by any concrete subclass before it can be instantiated
- Abstract classes can also have concrete methods that provide shared functionality to subclasses
Summary
Aspect| Details
---|---
Minimum number of abstract methods| Zero (an abstract class can have none)
Purpose of abstract methods| To enforce subclasses to implement specific
methods
Can abstract class have concrete methods?| Yes, it can have both abstract and
concrete methods
Instantiation of abstract class| Not allowed directly, only subclasses can be
instantiated
Therefore, the number of abstract methods in an abstract class depends on the design needs-it can have none, one, or many abstract methods depending on what behavior you want to enforce in subclasses