接口的異同點(diǎn)
1.接口默認(rèn)為抽象的御吞。所以聲明接口的時(shí)候不需要使用 abstract
關(guān)鍵字修飾,接口的方法默認(rèn)修飾符為:public
瓦哎。
2.接口的關(guān)鍵字為:interface
3.接口可以多繼承砸喻,用逗號(hào)隔開。方法與繼承類得方法一致杭煎,使用extends
關(guān)鍵字恩够。
4.接口不能包含沒有賦值的屬性卒落,要想聲明變量只能用static
和final
進(jìn)行修飾羡铲。例如:
public static final int age = 23;
5.接口不能包含構(gòu)造方法,所定義得方法都為抽象得方法儡毕。
6.接口不能實(shí)例化也切,但是接口的方法必須實(shí)現(xiàn)(可以不調(diào)用),如果想不實(shí)現(xiàn)這個(gè)方法得話腰湾,就要注上為抽象方法雷恃,用abstract
去修飾。一定要注意類的權(quán)限费坊。
7.接口無法被類去繼承倒槐,但是接口可以去繼承另外得一個(gè)接口。類實(shí)現(xiàn)接口附井。
抽象類得異同點(diǎn)
1.抽象類無法被實(shí)例化讨越,但是類的功能都依然可以存在,屬性永毅,方法把跨,構(gòu)造方法,繼承都存在沼死。
2.修飾抽象類需要用abstract
去修飾着逐,如:
public abstract class Abcd{}
3.如果定義為抽象類,那么這個(gè)類得方法也必然是抽象方法意蛀,同樣需要用abstract
修飾耸别。
4.抽象方法沒有方法體,例如:
public abstract void age();
5.如果要實(shí)現(xiàn)這個(gè)抽象方法县钥,就必須要在子類里寫上與父類抽象方法一樣得方法秀姐,如同方法得重寫。(在抽象類里叫做抽象方法得實(shí)現(xiàn))魁蒜。如果不想實(shí)現(xiàn)這個(gè)抽象方法的情況下囊扳,也可以繼續(xù)將它聲明為抽象方法吩翻。