implements
implements
implements是實現一個介面用的關鍵字,它是用來實現介面中定義的抽象方法。
實現一個介面,必須實現介面中的所有方法。
還有幾點需要注意:
(2)介面只有定義,抽象類可以有定義和實現
(3)介面的欄位定義默認為:public static final,抽象類欄位默認是"friendly"(本包可見)
比如:People是一個介面,他裡面有say這個方法。
介面的定義:
public interface People{
public void say();
}
但是介面沒有方法體。只能通過一個具體的類去實現其中的方法體。
比如 Chinese這個類,就實現了People這個介面。
介面的實現:
public class Chinese implements People{
public void say() {
System.out.println(" 你好!");
}
}
介面的調用:
People chinese = new Chinese() ;
chinese.say();
介面可以有不同的實現,即使用不同的類實現。
在java中extends表示子類繼承父類,如類A繼承類B寫成
class A extends B
{
//.....
}
implements 的意思更接近“實現”,比如實現一個介面的方法。
與Extends的區別
extends,表示對父類的繼承,可以實現父類,也可以調用父類初始化 this.parent()。而且會覆蓋父類定義的變數或者函數。
implements,表示對介面的實現,介面通過關鍵字interface 進行定義。eg:public class S implements F,在介面F中對方法進行聲明,在類S中對該方法進行實現。
這兩種實現的具體使用,是要看項目的實際情況,需要實現,不可以修改implements,只定義介面。需要具體實現,或者可以被修改擴展性好,用extends。