Yes, an abstract class can have a constructor in Java. You can either explicitly provide a constructor to abstract class or if you don't, the compiler will add default constructor of no argument in abstract class. ... In order to use an abstract class in Java, You need to extend it and provide a concrete class.