六狼论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博账号登陆

只需一步,快速开始

搜索
查看: 17|回复: 0

内部类实现多重继承()

[复制链接]

升级  98.8%

328

主题

328

主题

328

主题

进士

Rank: 4

积分
994
 楼主| 发表于 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
您需要登录后才可以回帖 登录 | 立即注册 新浪微博账号登陆

本版积分规则

快速回复 返回顶部 返回列表