iloveoracle 发表于 2013-2-3 11:21:06

内部类实现多重继承()

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]
查看完整版本: 内部类实现多重继承()