I'm learning OOP concepts. While reading about inheritance, i learnt that the super class has to be initialized before initializing the subclass i.e. constructor of all super-class must run before sub-class constructor. Also, we can create an instance of super class directly. For e.g.
SuperClass superClass = new SuperClass();
Now, I came across abstract classes. It seems we cannot instantiate an abstract class. To use an abstract class, you have to inherit it from another class, provide implementations to the abstract methods in it.
My question is, while instantiating concrete subclass, constructor of abstract super class will be invoked before constructor of concrete subclass. If this is the case why can't i instantiate Abstract super class directly?