Java——抽象類實現接口

 在Java中,使用抽象類來實現接口,並不是毫無作用。相反,有時間有很大的作用。

      當你只想實現接口中的個別方法(不是所有方法)時,你可以先寫一個抽象類來實現該接口,並實現除了你想要的方法之外的所有方法(方法體爲空)。接着再用你的類繼承這個抽象類,這個類中就只用實現你需要的方法了,這樣就可以達到你的需要了。但是,如果你直接實現接口的話,你就需要實現接口的所有方法。

      通過下面例子,可以很好的理解:

      例:有一個接口Window,有三個方法,draw(),putColor(),setPosition()三個方法,程序員在設計頁面時只關注對其進行位置定位(畫圖draw()和着色putColor()則由美工實現),所以他只需要實現setPosition()方法,而其餘兩個不用實現。則設計如下:

      //接口

      interface Window{

             public void draw();

             public void putColor();

             public void setPosition();

      }

 

     /**

      *抽象類,不實現需要的方法。而實現的不需要的方法的方法體設爲空,

      */    

     abstract class DesignedPage implements Window{

             public void draw(){}

             public void putColor(){}

     }

     

     /**

       * 具體實現類,實現特定的方法,該類中只有需要的方法

       */

      public class DesingedPageA  extends DesignedPage{

             public void setPosition(){

                   //set the window position

             }   

    }

 

  

     通常情況下,如果我們需要在具體實現類中實現draw()方法時,都是調用父類的draw()方法(super.draw())。


轉自http://fishswing.iteye.com/blog/1527166

發佈了20 篇原創文章 · 獲贊 10 · 訪問量 34萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章