抽象類:
1.含有抽象方法的類稱為抽象類,抽象類和抽象方法使用abstract聲明;
2.抽象類不能使用new來進行實例化,抽象類主要用于被子類繼承;
3.抽象類的子類必須實現抽象類中的方法,除非此子類也是抽象類;
4.抽象方法不能有方法體。
當一個類繼承與一個抽象類時,必須去實現抽象類中的所有的抽象方法,除非子類也是抽象類(加abstract關鍵字)。
抽象類中必須含有抽象方法,也可以存在一般的方法(即有方法體的方法)
接口 (更高一層的抽象類,也可以理解為對抽象類的抽象)
接口:是一種高度抽象的"抽象類",在java中使用interface來聲明一個接口。例如:
public interface IPet{
public void eat();
void ho(); /*方法中public可以省,并不是缺省的訪問修飾符,而就是省去的public*/
} /*接口中不能定義變量,可以定義常量*/
接口可以有多個繼承接口,即可以有多個父接口;
1.接口和抽象類一樣,不能用于實例化;
2.接口可以繼承接口,并支持多繼承;
3.接口中的方法默認是public訪問權限;
4.接口中沒有構造方法。
一個類實現了接口的例子:
public class Mobile implements Battery,Usb{
public void start();
}
當多個類實現一個接口時,稱為一個接口有多個實現類
一個類實現了接口遵循:①必須實現這個接口中所有的方法;②除非實現類是抽象類。