Single inheritance is a mechanism in Java where a class inherits from only one superclass, while multiple inheritance is a mechanism where a class inherits from multiple classes. Java does not support multiple inheritance, but it can be achieved through interfaces.