隨筆 - 19  文章 - 0  trackbacks - 0
          <2012年8月>
          2930311234
          567891011
          12131415161718
          19202122232425
          2627282930311
          2345678

          常用鏈接

          留言簿

          隨筆檔案

          搜索

          •  

          最新評論

          閱讀排行榜

          評論排行榜

          面試題:請說說抽象類和接口的區別


          抽象類,使用abstract關鍵字修飾的類為抽象類,一般來說,含有抽象方法的類就需要定義為抽象類,但是抽象類不一定都有抽象方法,比如,在GUI當中,對于事件處理提供了很多監聽器口里里面方法都是抽象的,每次進行事件處理時,都需要實現監聽器接口,哪怕只處理一個簡單的動作,也需要實現接口所有的方法,這樣很麻煩,而且顯得代碼很臃腫,Java提供了適配器,適配器就是自己實現了監聽器接口,但是所有的方法都是空實現,以后再用到監聽器時,我們可以繼承適配器,實現我們需要的方法就可以了,這樣就很方便。像這樣的適配器只是給調用者提供一個方便,一定不希望別人直接創建實例來使用,所以有必要將它定義為abstract抽象的。

          接口,接口是一種特殊的抽象類,接口中所有的方法都是抽象的,通常來講,我們使用接口作為一種協議,起到各模塊之間的銜接作用。由于Java中只支持單繼承,不支持多繼承,但是可以實現多個接口,原因在于接口中所有的方法都抽象,子類繼承哪個都無所謂,我們讓一個類實現多個接口,就可以做到將一個子類對象當做多種父類類型來使用,所以我認為定義接口就是為了更好地實現多態,因為多態就是把子類當做父類來用.

           

          posted on 2012-08-07 01:01 、小細 閱讀(71) 評論(0)  編輯  收藏

          只有注冊用戶登錄后才能發表評論。


          網站導航:
           
          主站蜘蛛池模板: 东方市| 行唐县| 塔河县| 大渡口区| 施秉县| 建德市| 聂拉木县| 容城县| 罗田县| 大渡口区| 同心县| 新昌县| 射阳县| 平潭县| 石首市| 北流市| 长沙市| 清新县| 灵山县| 尤溪县| 白沙| 武功县| 宜丰县| 壶关县| 桑日县| 电白县| 肇源县| 延安市| 武宁县| 商洛市| 浑源县| 白玉县| 普洱| 邹城市| 嘉义市| 济阳县| 招远市| 文山县| 高台县| 阳原县| 西盟|