30
技術社區[雲棲]
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