java的多继承的实现方式——通过内部类实现多继承

  • 说在前面
    大家都知道java是不直接支持多继承的,为什么不支持多继承呢?比较经典的一个问题就是diamond problem,比如b,c都继承了a,而且b,c覆盖了a的同一方法,此时d如果同时继承了b,c,但是没有覆盖这一方法,那么,请问此时在d里调用该方法时,是b的,还是c的,还是a的?
  • 通过内部类的方式来实现多继承
public class father {
    public  String fasu(){
      return "I just want to kill you";
    }
}

public class Mather {
    public  String gender(){
     return "I just want to love you";
    }
}
public class Son {

    class Myfather extends father {

        public String fasu() {
           return "I just want to love you too";
        }
    }
    class Mymather extends Mather{
        public String gender(){
             return "I just want to love you";
        }
    }
    public void get_fasu(){
        System.out.println(new Myfather().fasu());
    }
    public void get_gender(){
        System.out.println(new Mymather().gender());
    }
    public static void main(String[] args) {
        Son son = new Son();
        son.get_fasu();
        son.get_gender();
    }
}

还有就是通过实现多个接口来实现多继承了,这个是最常见的。也是更加简洁方便的方法。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值