内部类可以使java也有用多继承的特点,这个特点非常重要,个人认为它是内部类存在的最大理由之一,正是由于他的存在使得Java的继承机制更加完善。
大家都知道Java只能继承一个类,它的多重继承在我们没有学习内部类之前是用接口来实现的。但使用接口有时候有很多不方便的地方。比如我们实现一个接口就必须实现它里面的所有方法。而有了内部类就不一样了。它可以使我们的类继承多个具体类或抽象类。大家看下面的例子。
RunClass:
package com.mode;
public class RunClass {
public void run()
{
System.out.println("run");
}
}
FlyClass:
package com.mode;
public class FlyClass {
public void fly()
{
System.out.println("fly");
}
}
TestExample:
import com.mode.AdvancedCar;
public class TestExample {
public static void main(String[] args) {
AdvancedCar rc = new AdvancedCar();
rc.fly();
rc.run();
}
}
从这个例子中就可以看到AdvancedCar 拥有了Fly 和Run的两种能力。