Inheritance in Java allows classes to inherit properties and behaviors from parent classes. This allows code reusability and method overriding to achieve runtime polymorphism. There are three types of inheritance in Java: single inheritance where a class inherits from one parent class, multilevel inheritance where a child class inherits from another child class, and hierarchical inheritance where multiple classes inherit from a single parent class.