What is the need of an abstract class constructor in Java?

An abstract class constructor is used to initialize the instance variable. The biggest advantageĀ of an abstract class constructor is the code reusability, it's means there is no need of initialize the instance variable of parent class inside the child class.

You can either explicitly provide constructor to abstract class or if you don't, compiler will add default constructor of no argument in abstract class. This is true for all classes and its also applies on abstract class.