Inheritance allows classes to extend existing classes to reuse their properties and behaviors. The extended class is called a subclass, while the class being extended is called the superclass. Subclasses inherit all public and protected members of the superclass. Subclasses can override or extend the superclass's methods and properties. The Point and Circle classes demonstrate inheritance, where Circle extends Point to inherit its x and y coordinates but adds its own radius property. Circle overrides toString() to include radius in the output.