Abstract classes are classes that contain one or more abstract methods.
An abstract method is a method that is declared, but contains no implementation.
Abstract classes may not be instantiated, and require subclasses to provide implementations for the abstract methods.
You can only inherit abstract classes.
Any class that has at least one method abstract is abstract class.
Usually, an abstract class is also known as base class.
We call it base class because the abstract class is not the class which is available directly for creating an object.
It can only act as the parent class of any normal class.
You can use an abstract class in the class hierarchy.
One abstract class can inherit another abstract class.