1. The document discusses Java inheritance and how it allows classes to extend existing classes to reuse fields and methods without rewriting code.
2. Inheritance allows the creation of subclasses that are more specific versions of the parent class. Subclasses inherit all non-private fields and methods from the parent class and can override methods.
3. Polymorphism allows code to treat objects of different subclasses the same by referring to their common parent class. This allows code to work with any subclass without knowing the specific type.