首先,多重继承指的是一个类可以同时从多个的父类那里继承属性和行为,然而我们知道Java为了保证数据安全,它只允许单继承,使用关键字(extends)来完成。但是这样的话,我们在设计程序会遇到一些麻烦。对于小编来说,我不但可以继承父亲的基因也能继承母亲的。所以我们的Java也为我们提供两种方式实现多重继承:
1:使用接口,并使用关键字(implements)来实现。
2:使用内部类来完成。

一、 接口
我们知道子类只能继承一个父类,也就是说只能存在单一继承,但是却可以实现多个接口,这就为我们实现多重继承做了铺垫。
对于接口而已,有时候它所表现的不仅仅只是一个更纯粹的抽象类,接口是没有任何具体实现的,也就是说,没有任何与接口相关的存储,因此也就无法阻止多个接口的组合了。(这里就不写代码来实现,主要看内部类是如何实现的)
**二、内部类 **
看一个人如何既能继承父亲的基因也能继承母亲(直接上代码):

package com.test3.theway;

public class Father {
    public String Fa(){
        return "父亲的基因";
    }
}
package com.test3.theway;

public class Mother {

    public String Mo(){
        return "母亲的基因";
    }

}
package com.test3.theway;

public class Son {
    //使用内部来继承
    class Father_1 extends  Father{
        public String f(){
            return super.Fa()+1;
        }
    }
    class Mother_1 extends Mother{
        public String m(){
            return super.Mo()+1;
        }
    }
    public String getFa(){
        return new Father_1().f();
    }
    public String getMo(){
        return new Mother_1().m();
    }

    public static void main(String[] args) {
        Son son=new Son();
        System.out.println("son的基因是:"+son.getFa()+"和"+son.getMo());
    }
}
结果:
son的基因是:父亲的基因1和母亲的基因1
Process finished with exit code 0

这里定义了两个内部类,他们分别继承父亲Father类、母亲类Mother类,且都可以非常自然地获取各自父类的行为,这是内部类一个重要的特性:内部类可以继承一个与外部类无关的类,保证了内部类的独立性,正是基于这一点,多重继承才会成为可能。