Every class, including abstract classes, MUST have a constructor. Hard Code that into your brain. But just because a class must have one, doesn't mean the programmer has to type it. A constructor...
Private constructors generally have one of two uses. The first is for implementing the singleton design pattern, in which you only ever want one instance of the class in existence. So you don't want...
These are two different things. "Super" is used in inheritance - if class B inherits from class A, and we want the constructor of B to do the same things the constructor of A does (and maybe more...