Java:使用内部类实现类的多重继承
Java:使用内部类实现类的多重继承
Java不支持类的多重继承,但可以使用内部类来继承实现更多的类。
下面的例子,目标类需要继承两个抽象类(A和B)。目标类C本身继承类A,并使用一个匿名内部类继承另一个类B。
MultiImplementation.java
abstract class A { abstract void methodA(); } abstract class B { abstract void methodB(); } class C extends A { @Override void methodA() { System.out.println("extends A's method"); } B getB() { return new B() { @Override void methodB() { System.out.println("extends B's method"); } }; } } public class MultiImplementation { public void doA(A a) { a.methodA(); } public void doB(B b) { b.methodB(); } public static void main(String[] args) { MultiImplementation mi = new MultiImplementation(); C c = new C(); mi.doA(c); mi.doB(c.getB()); } }
结果:
extends A's method
extends B's method
最后更新:2017-04-02 16:47:42