抽象類(lèi):
1.含有抽象方法的類(lèi)稱為抽象類(lèi),抽象類(lèi)和抽象方法使用abstract聲明;
2.抽象類(lèi)不能使用new來(lái)進(jìn)行實(shí)例化,抽象類(lèi)主要用于被子類(lèi)繼承;
3.抽象類(lèi)的子類(lèi)必須實(shí)現(xiàn)抽象類(lèi)中的方法,除非此子類(lèi)也是抽象類(lèi);
4.抽象方法不能有方法體。
當(dāng)一個(gè)類(lèi)繼承與一個(gè)抽象類(lèi)時(shí),必須去實(shí)現(xiàn)抽象類(lèi)中的所有的抽象方法,除非子類(lèi)也是抽象類(lèi)(加abstract關(guān)鍵字)。
抽象類(lèi)中必須含有抽象方法,也可以存在一般的方法(即有方法體的方法)
接口 (更高一層的抽象類(lèi),也可以理解為對(duì)抽象類(lèi)的抽象)
接口:是一種高度抽象的"抽象類(lèi)",在java中使用interface來(lái)聲明一個(gè)接口。例如:
public interface IPet{
public void eat();
void ho(); /*方法中public可以省,并不是缺省的訪問(wèn)修飾符,而就是省去的public*/
} /*接口中不能定義變量,可以定義常量*/
接口可以有多個(gè)繼承接口,即可以有多個(gè)父接口;
1.接口和抽象類(lèi)一樣,不能用于實(shí)例化;
2.接口可以繼承接口,并支持多繼承;
3.接口中的方法默認(rèn)是public訪問(wèn)權(quán)限;
4.接口中沒(méi)有構(gòu)造方法。
一個(gè)類(lèi)實(shí)現(xiàn)了接口的例子:
public class Mobile implements Battery,Usb{
public void start();
}
當(dāng)多個(gè)類(lèi)實(shí)現(xiàn)一個(gè)接口時(shí),稱為一個(gè)接口有多個(gè)實(shí)現(xiàn)類(lèi)
一個(gè)類(lèi)實(shí)現(xiàn)了接口遵循:①必須實(shí)現(xiàn)這個(gè)接口中所有的方法;②除非實(shí)現(xiàn)類(lèi)是抽象類(lèi)。
posted on 2011-10-29 12:44
魏文甫 閱讀(158)
評(píng)論(0) 編輯 收藏