We introduced inheritance—the ability to create classes by absorbing an existing class’s members and embellishing them with new capabilities. You learned the notions of superclasses and subclasses and used keyword
extends to create a subclass that inherits members from a superclass. We showed how to use the
@Override annotation to prevent unintended overloading by indicating that a method overrides a superclass method. We introduced the access modifier
protected; subclass methods can directly access
protected superclass members. You learned how to use
super to access overridden superclass members. You also saw how constructors are used in inheritance hierarchies. Next, you learned about the methods of class
Object, the direct or ...