阅读30 返回首页    go 阿里云 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的使用方法 .