閱讀30 返回首頁    go 技術社區[雲棲]


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

  上一篇:go android Fragments詳解七:fragement示例
  下一篇:go Fragment和FragmentActivity的使用方法 .