技术中心

这里象征着我们的态度和能力

>使用内部类让Java实现“多继承”
作者:中国IT实验室    来源:中国IT实验室    发布时间:2012-01-01      浏览次数:6711
分享到:
欢迎进入Java社区论坛,与200万技术人员互动交流 >>进入

  使用内部类让Java实现“多继承”

  众所周知,Java没有像c++那样支持多继承,但是我们可以使用接口或内部类来模拟实现多继承。

  我们使用内部类来实现一个继承自消费者,又继承自生产者的派生类。

  实际上Java之所以设计出内部类这个概念,一方面是为了更好的封装性,另一方面就是借助内部类模拟实现多继承。

  首先我们定义一个消费者抽象基类

  view plainprint?

  /** * Consumer Class *@author androidyue *Last Modified:2011-12-13    上午11:04:56 */ public abstract  class Consumer { protected float buyPrice;protected abstract void  buyGoods();}

  以下是生产者抽象基类

  view plainprint?

  /** * Producer Class *@author androidyue *Last Modified:2011-12-13    上午11:04:02 */ public abstract class Producer { protected  float cost;protected abstract void produce();}

  使用内部类实现“多继承”的派生子类

  view plainprint?

  /** *Java实现“多继承”

  *@author androidyue *Last Modified:2011-12-13    上午11:00:25 */ public class InnerClassDemo extends Producer { private ConsumerBuyer buyer;

  public void desribeMySelf(){ System.out.println("使用Java模拟多继承");this.produce();this.buyer=new ConsumerBuyer();this.buyer.buyGoods();

  }

  @Override protected void produce() { this.cost=100f;System.out.println("我是生产者,我以每件"+this.cost+"RMB的成本生产一件产品,然后以20000元价格对外出售");}

  class ConsumerBuyer extends Consumer{

  @Override protected void buyGoods() { this.buyPrice=0f;System.out.println("我是消费者,我以"+this.buyPrice+"RMB 买了一件售价20000元的商品,不信吧,因为我也是生产者!^_^");

  }

  }

  }

  在程序入口调用

  view plainprint?

  /** *  the entrance of application *@author androidyue *Last Modified:2011-12-13    上午11:20:06 */ public class AppMain { public static void main(String[] args){ InnerClassDemo demo=new InnerClassDemo();demo.desribeMySelf();}

  显示结果:使用Java模拟多继承我是生产者,我以每件100.0RMB的成本生产一件产品,然后以20000元价格对外出售我是消费者,我以0.0RMB 买了一件售价20000元的商品,不信吧,因为我也是生产者!^_^

4000-880-989
(24小时热线)
联系客服
微信公众号

官方公众号

小程序

©2008-2022 CORPORATION ALL Rights Reserved. 昆明奥远科技有限公司版权所有 滇ICP备09003328号-1 滇公网安备 53011102000818号 增值电信业务经营许可证号:滇B2-20110045
昆明那家网络公司好,新媒体运营,网站优化,网络推广,网站建设,网页设计,网站设计,网站推广,云南网站公司,昆明新媒体公司,云南网红主播,昆明SEO公司,昆明网站建设,昆明网络推广,昆明网站优化,昆明网站推广,红河网站建设,大理网络公司,曲靖网络公司,丽江网站设计,昭通网络公司,保山大数据服务,智慧高速建设,智慧校园服务,云南IDC服务商,网络安全测评,等保测评,网站关键词排名优化服务,服务客户尽超2000余家,一切尽在奥远科技,服务电话:13888956730