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

上一篇:《LabVIEW 虚拟仪器程序设计从入门到精通(第二版)》一导读


下一篇:基于Xcode原型驱动的iOS应用设计