Inheritance allows the creation of hierarchical classifications in Java. A superclass can be inherited by a subclass, with the subclass being a specialized version of the superclass that inherits all of its variables and methods. The subclass can also define its own unique elements. Inheritance is implemented using the "extends" keyword. A subclass inherits all non-private members of the superclass and can override or hide superclass methods. Constructors are called from the superclass to the subclass. Inheritance allows code reuse and is a fundamental concept in object-oriented programming.