重載,繼承,重寫,多態的區別

繼承:當多個類具備相同的特徵(屬性)和行爲(方法),爲了實現代碼複用,須要子類繼承父類的特徵和行爲。使得子類具備父類的各類屬性和方法,除了具備父類的特徵和行爲,還具備一些本身特殊的特徵和行爲。測試

多態:當一個類須要表現出多種形態,具備多種實現方式。避免了在父類裏大量重載引發代碼臃腫且難於維護,加強程序的可擴展性及可維護性,使代碼更加簡潔。子類重寫父類的方法。使子類具備不一樣的方法實現。繼承

能夠簡單理解爲:繼承是子類使用父類的方法,而多態則是父類使用子類的方法。接口

重寫:若是在子類中定義的一個方法,其名稱、返回類型及參數列表正好與父類中某個方法的名稱、返回類型及參數列表相匹配,那麼能夠說,子類的方法重寫了父類的方法。class

重載:多個同名而不一樣參數的方法之間,互相稱之爲重載方法。test

接口:接口把方法的特徵和實現分割開來。它自己沒有任何實現,不涉及表象,只描述public行爲,因此接口比抽象類更抽象化。可是接口不是類,因此不能被實例化。擴展

下列測試代碼:  程序

package cn.lufice.test02;方法

public class Instrument {
     public void play(int i){
          System.out.println("Instrument"+i);
     }
     //重載
     public void play( int i,String str){
          System.out.println("Brass "+i+" "+str);
     }
}
static

public class Brass extends Instrument {
     public void play( int i,String str){
          System.out.println("Brass "+i+" "+str);
     }
}rss

public class Wind extends Instrument{
     //重寫
     public void play(int i){
           System.out.println("Wind "+i);
     }
     public static void main(String[] args) {
           Instrument instrument = new Wind();//多態
           Brass brass = new Brass();//繼承
           instrument.play(10);
           brass.play(20,"barss");
     }
}

/*Output:

Wind 10
Brass 20 barss

*/

相關文章
相關標籤/搜索