1. 程式人生 > >內部類實現多重繼承()

內部類實現多重繼承()

java:使用內部類實現類的多重繼承
java不支援類的多重繼承,但可以使用內部類來繼承實現更多的類。
下面的例子,目標類需要繼承兩個抽象類(a和b)。目標類c本身繼承類a,並使用一個匿名內部類繼承另一個類b。
multiimplementation.javaabstract 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