This week's book giveaway is in the OO, Patterns, UML and Refactoring forum. We're giving away four copies of Refactoring for Software Design Smells: Managing Technical Debt and have Girish Suryanarayana, Ganesh Samarthyam & Tushar Sharma on-line! See this thread for details.
All base class constructors call the super class constructor first. It is always considered a good programming habit if you explicitly call (IMO). If you donot explicitly call the super class constructor explicitly, then the JDK will make the call on your behalf. Since in this example you din't make the call explicitly, JDK calls the default super class constructor which takes no arguments. Now, in the super class you did provide a constructor explicitly. Hence the default constructor is not avail for this super class. Hence the ERROR. Hope this helps. Regds. - satya