1. The document discusses inheritance in Java, including class inheritance which allows extending classes and interface inheritance which allows implementing interfaces. It defines the keywords "extends" for class inheritance and "implements" for interface inheritance.
2. Abstract classes can contain both abstract and non-abstract methods, allowing for some default implementations, while interfaces contain only abstract methods. Interfaces define a contract that implementing classes must follow.
3. Constructors in subclasses implicitly call the parent class constructor before executing the subclass constructor body, following a top-down construction order under inheritance.