首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > 编程 >

内部类兑现多重继承()

2012-10-14 
内部类实现多重继承()java:使用内部类实现类的多重继承java不支持类的多重继承,但可以使用内部类来继承实

内部类实现多重继承()
    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.

热点排行