熱點推薦:
您现在的位置: 電腦知識網 >> 編程 >> Java編程 >> Java核心技術 >> 正文

使用內部類讓Java實現“多繼承”

2013-11-23 18:52:48  來源: Java核心技術 

  使用內部類讓Java實現多繼承

  眾所周知Java沒有像c++那樣支持多繼承但是我們可以使用接口或內部類來模擬實現多繼承

  我們使用內部類來實現一個繼承自消費者又繼承自生產者的派生類

  實際上Java之所以設計出內部類這個概念一方面是為了更好的封裝性另一方面就是借助內部類模擬實現多繼承

  首先我們定義一個消費者抽象基類

  view plainprint?

  /** * Consumer Class *@author androidyue *Last Modified    上午 */ public abstract  class Consumer { protected float buyPriceprotected abstract void  buyGoods()}

  以下是生產者抽象基類

  view plainprint?

  /** * Producer Class *@author androidyue *Last Modified    上午 */ public abstract class Producer { protected  float costprotected abstract void produce()}

  使用內部類實現多繼承的派生子類

  view plainprint?

  /** *Java實現多繼承

  *@author androidyue *Last Modified    上午 */ public class InnerClassDemo extends Producer { private ConsumerBuyer buyer

  public void desribeMySelf(){ Systemoutprintln(使用Java模擬多繼承thisproduce()thisbuyer=new ConsumerBuyer()thisbuyerbuyGoods()

  }

  @Override protected void produce() { st=fSystemoutprintln(我是生產者我以每件+st+RMB的成本生產一件產品然後以元價格對外出售}

  class ConsumerBuyer extends Consumer{

  @Override protected void buyGoods() { thisbuyPrice=fSystemoutprintln(我是消費者我以+thisbuyPrice+RMB 買了一件售價元的商品不信吧因為我也是生產者!^_^

  }

  }

  }

  在程序入口調用

  view plainprint?

  /** *  the entrance of application *@author androidyue *Last Modified    上午 */ public class AppMain { public static void main(String[] args){ InnerClassDemo demo=new InnerClassDemo()demodesribeMySelf()}

  顯示結果使用Java模擬多繼承我是生產者我以每件RMB的成本生產一件產品然後以元價格對外出售我是消費者我以RMB 買了一件售價元的商品不信吧因為我也是生產者!^_^


From:http://tw.wingwit.com/Article/program/Java/hx/201311/25912.html
    推薦文章
    Copyright © 2005-2013 電腦知識網 Computer Knowledge   All rights reserved.