Inheritance in Java allows one object to acquire properties and behaviors from a parent object, supporting code reusability and method overriding. There are three primary types of inheritance: single, multilevel, and hierarchical, but multiple inheritance is not supported due to potential ambiguity in method calls. The 'extends' keyword is used to create subclasses, enhancing functionality while maintaining the parent-child relationship.