Inheritance is a core concept of object-oriented programming where a subclass inherits attributes and methods from a superclass in Java, using the 'extends' keyword. Key features include method overriding, the use of the 'super' keyword to access superclass functionality, and the distinction between abstract and concrete classes. Java does not support multiple inheritance to avoid complexities and ambiguities.