follow these rules:
the sub class calls the super class constructor ,the default constructor ,each time you extend the sub class.
if you declare even one constructor
java does not make any default constructor.
if the sub class constructor does not call the super();as the first statement in that constructor it searches the default constructor which is not there .compiling such a class will give an error :cannot resolve symbol.
to avoid this declare the default constructor .(if you do not call the super ()
if you do so then you need not define the default constructor.
if you have a multilevel hierarchy the chain folllows the same rule.
if you have multiple constructors(overloaded) in the subclasses then in each of them you have to call at least one form of the super class constructor or else declare the default constructor.
hope i ma right.