让java的多重继承成为现实!

点击上方蓝色关注我们!

大家好,我是雄雄,前两天给大家说了说java中的四种内部类,推文分别为:

静态内部类和成员内部类

方法内部类和匿名内部类

在内部类的基础上,我们来看看今天的知识点儿。

众所周知,java类之间只可单继承,不可多继承,也就是一个类只能继承一个类,不可以继承多个类,那我们如果想“反其道而行之”呢?这不是危言耸听,因为我们确实有些情况下需要继承多个类,比如希望拥有两个类的行为功能,就很难使用单继承来解决问题了(当然,使用多个接口实现也是可以解决的)。

那,可不可以不利用接口的情况下实现多继承呢?当然是可以的,那就是——内部类!

下面我们来分析个例子:

假如有一个吃饭的类(Eat)和玩耍的类(Play),吃饭的类里面实现的是吃饭功能,而玩耍的类里面自然实现的是玩耍的功能。

现在新加了一个People类(人),该类想实现吃饭和玩耍的功能,如果使用继承的话,我们只能实现其中的某一功能,吃饭亦或玩耍,这满足不了我们的需求。

下面我们来举个例子,使用内部类,让java的多继承成为现实。

Eat类:

//吃饭的类
public class Eat {
  
  public void info (){
    System.out.println("正在吃饭");
  }

}

Play类:

//玩耍的类
public class Play {
  public void info(){
    System.out.println("正在玩耍");
  }
}

People类:

public class People {
  
  //创建吃的 内部类
  public class EatIng extends Eat{
    
  }
  
  //创建玩的内部类
  public class PlayIng extends Play{
    
  }
  
  //实例化两个内部类的对象
  EatIng eatIng = new EatIng();
  PlayIng playIng = new PlayIng();
  
  //人正在吃饭
  public void peopleEat(){
    eatIng.info();
  }
  
  //人在玩耍
  public void peoplePlay(){
    playIng.info();
  }
  
  //main方法主体
  public static void main(String[] args) {
    People people = new People();
    people.peopleEat();
    people.peoplePlay();
  }

}

其运行结果为:

代码分析:首先我们创建了Eat类和Play类,两类里面都有一个方法,吃饭和玩耍。然后就是People类,该类中,我们分别创建两个内部类,吃和玩。然后就是实例化两个内部类的对象,最后通过这两个对象即可实现我们想要实现的方法,你看看是不是就间接的实现了多继承了呢。这样虽说有点儿麻烦,不过需求还是达到了!

下期内容更精彩!

粉丝群

▲每天都会有不定额的红包发放,了解公众号文章、抽奖最新资讯。

java中,剩下的这两个内部类不太好理解!


java中常见的几种内部类,你会几个?(未完)


java中你知道的这四种代码块吗?


切记!构造函数里面别一定不要初始化其他类,踩过坑的都知道


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

穆雄雄

哎,貌似还没开张来着呢~

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值