Inheritance allows a new class to inherit characteristics from an existing parent class. The child class inherits methods and data from the parent class. Inheritance creates a "is-a" relationship where the child class is a more specific form of the parent. The child can add new variables or methods or modify inherited ones. Inheritance is established using the "extends" keyword and allows for code reuse.