Introduction
Multiple inheritance lets a class use features from more than one source. Java uses interfaces to do this safely.
When a class needs to follow rules from different sources.
When you want to share method ideas without sharing code.
When you want to build flexible and reusable code parts.
When you want to avoid problems that come with multiple class inheritance.