READING CHAPTER 13 SECTION 4 "Inheritance and Constructors" - constructors of a superclass are not inherited by its subclasses - must define a constructor for a descendent class or use the default constructor added by the compiler - default is added if you don't define any public ( ) { super(); } - super(); calls the constructor of the superclass - every class has a superclass - default superclass is Object (if no extends clause in the definition) - no default constructor is added if any constructor is explicitly declared - arguments of called constructor must match some declared constructor - if superclass constructor not explictly called, compiler automatically adds as the first line of the constructor - if define a class with at least one explicit constructor, and all of the explicit constructors take arguments - subclasses cannot rely on implicit call of super() because no such constructor exists! - generally, better to never rely on default constructors Quick Check 1. super(); 2. super(); 3. class UndergraduateStudent extends Student { ... public UndergraduateStudent() { super(); } public UndergraduateStudent( String name ) { super(name); } } class GraduateStudent extends Student { ... public GraduateStudent() { super(); } public GraduateStudent( String name ) { super(name); } }