读书人

内部类兑现多重继承()

发布时间: 2012-10-14 14:55:08 作者: rapoo

内部类实现多重继承()
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 1 楼 Mybeautiful 2011-08-31 这个只能说 里面组合了一个b,不是多继承。继承的关系是is-a; c 是a, 但不能说c是b,只能说c里面有一个b.

读书人网 >编程

热点推荐