Java:使用内部類實作類的多重繼承
Java不支援類的多重繼承,但可以使用内部類來繼承實作更多的類。
下面的例子,目标類需要繼承兩個抽象類(A和B)。目标類C本身繼承類A,并使用一個匿名内部類繼承另一個類B。
MultiImplementation.java
<b>abstract</b> <b>class</b> A {
<b>abstract</b> <b>void</b> methodA();
}
<b>abstract</b> <b>class</b> B {
<b>abstract</b> <b>void</b> methodB();
<b>class</b> C <b>extends</b> A {
@Override
<b>void</b> methodA() {
System.out.println("extends A's method");
}
B getB() {
<b>return</b> <b>new</b> B() {
@Override
<b>void</b> methodB() {
System.out.println("extends B's method");
}
};
<b>public</b> <b>class</b> MultiImplementation {
<b>public</b> <b>void</b> doA(A a) {
a.methodA();
<b>public</b> <b>void</b> doB(B b) {
b.methodB();
<b>public</b> <b>static</b> <b>void</b> main(String[] args) {
MultiImplementation mi = <b>new</b> MultiImplementation();
C c = <b>new</b> C();
mi.doA(c);
mi.doB(c.getB());
結果:
extends A's method
extends B's method
本文轉自zhangjunhd51CTO部落格,原文連結:http://blog.51cto.com/zhangjunhd/71393,如需轉載請自行聯系原作者